Photo by Alina Grubnyak on Unsplash

Original paper

Advice for aspiring software engineers

The Internet Anti-Pattern

Regexes across the system stack. ReDoS may occur when a slow regex meets unsanitized input on a slow regex engine.


Why you should measure the cost of your GraphQL queries, and how you should do it.

Proposed applications of our query analysis. The client’s malicious query requests an exponentially large result from GitHub’s GraphQL API. At the time of our study, GitHub permitted the shown query, but halted its execution after it exceeded a time limit. Using our techniques, client-side query inspection can provide feedback during composition (see “Complexities” inset). Server-side query enforcement can reject queries and update rate limits based on provider-defined policies.


The (Professors and) Doctors Davis


  1. This was the first paper I had owned from start to finish.
  2. The paper had been rejected a lot of times.

James Davis

I am a professor in ECE@Purdue. I hold a PhD in computer science from Virginia Tech. I try to summarize my research findings in practitioner-friendly ways.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store