Enhance the regex engineering tools relied on by millions of open-source software projects.


  • James Davis, Assistant Professor, Electrical and Computer Engineering


Regular expressions (regexes) are critical infrastructure for most software projects. They are used directly in 30-60% of projects, and indirectly in nearly all software. Software engineers lack effective tool support and engineering methodologies for regex engineering. We will develop tools and mine user interactions and software repositories to benefit thousands of practicing engineers.

  • We will incorporate state-of-the-art analyses into our safe-regex package.
  • We will develop a range of novel regex engineering tools using techniques from security, compilers, machine learning, and interaction design.
  • We will learn from user interactions and regex datasets to improve our techniques.

The result: Regexes will become safer, faster, and more correct.


Relevant Technologies:

Computer programming; regular expressions


  • Students should know what a regular expression is.
  • Students should have some knowledge of the web stack (e.g. you know what JavaScript is, you understand client-server interactions). 

Meeting Times:

  • Fall 2021: TBA