Allen School professor and alumnus Michael Ernst (Ph.D., ‘00) has had a distinguished research career that spans more than two decades and includes multiple, influential contributions to programmer productivity through software analysis, testing and verification. In recognition of his impressive body of work, Ernst was recently recognized with the 2020 Outstanding Research Award from the Association for Computing Machinery’s Special Interest Group on Software Engineering (ACM SIGSOFT).
Since he returned to his alma mater in 2009 to take up a faculty position with the Allen School’s Programming Languages and Software Engineering (PLSE) group, Ernst has advanced the state of the art in the field on multiple fronts and earned many accolades along the way. The latest of these, SIGSOFT’s most prestigious award, recognizes his enduring impact on the theory and practice of software engineering.
“Michael Ernst is one of the most accomplished software engineering researchers. His work has led to many tools that are applied daily to real life software products,” said SIGSOFT Chair Tom Zimmermann, Senior Principal Researcher at Microsoft. “His Daikon tool was revolutionary and an elegant solution that impacted the research community in testing, verification, and programming languages.”
Daikon is a software system that dynamically detects likely program invariants. Ernst and his co-authors first presented Daikon in the 1999 paper, “Dynamically discovering likely program invariants to support program evolution,” while he was a Ph.D. student with fellow graduate student Jake Cockrell (M.S., ’99), Allen School alumnus and UCSD professor William G. Griswold (Ph.D., ’91), and the late Allen School professor David Notkin. In the paper, Ernst and his collaborators described novel techniques, such as tracing variables of interest, for enabling programmers to easily identify program properties that must be preserved when modifying code. The team’s approach initiated an important new line of research, earned the 2013 Impact Paper Award, and continues to be relevant more than two decades later.
Another research highlight of Ernst’s impressive career so far was a paper he co-authored with Carlos Pacheco of Google, and Shuvendu Lahiri and Thomas Ball of Microsoft Research called “Feedback-directed random test generation” in 2007. In the paper, Ernst and his colleagues presented a test generation technique and corresponding tool, Randoop, which generates tests for programs written in object-oriented languages such as Java and .NET. The technique put forward by the team generates one test at a time, executes the test, and classifies it as a normal execution, a failure, or an illegal input. Based on this information, the technique biases the subsequent generation process to extend good tests and avoid bad tests. Ernst and the team earned the Most Influential Paper Award from the International Conference on Software Engineering (ICSE) in 2017, and Randoop remains the standard benchmark against which other test generation tools are measured.
A year after his ICSE recognition, Ernst received a 2018 Impact Paper Award from the International Symposium on Software Testing and Analysis (ISSTA) for the 2008 paper, “Practical pluggable types for Java.” With this project, Ernst and his co-authors set out to address a well-known verification problem for programmers working in Java: while type checking could prevent many bugs, it couldn’t prevent enough bugs. To address this, Ernst and his colleagues developed the Checker Framework, a scalable tool for creating expressive and concise pluggable type systems for Java. The Checker Framework incorporated a type system component for defining type qualifiers and their semantics, and a compiler plug-in that enforces the semantics. It is also backward-compatible and integrates easily with standard development environments and tools, making it useful to programmers seeking to write bug-free code as well as type-system designers looking to evaluate and deploy their type systems. At the time of publication, Ernst was a faculty member at MIT, working with researcher Jeff H. Perkins, graduate student Matthew M. Papi, and undergraduates Mahmood Ali and Telmo Luis Correa Jr.
Among his many other accolades, Ernst earned a 2019 ISSTA Impact Paper Award for “HAMPI: a solver for string constraints,” a 2011 European Conference on Object-Oriented Programming (ECOOP) Best Paper Award and a total of nine ACM Distinguished Paper Awards. He was the recipient of the inaugural John Backus Award (2009) — created by IBM to honor mid-career university faculty members — and was elected a Fellow of the ACM in 2014.
“Michael is an exceptional software-engineering researcher and his continual momentum to produce research has advanced the field and has made some incredible real-world impacts,” said professor Magdalena Balazinska, director of the Allen School. “In addition to his research, he’s been an admirable influence on our next generation of computer scientists and engineers. We’re grateful he is a part of the Allen School faculty.”
In 2018, Ernst was formally recognized for his work as an educator and mentor with the CRA-E Undergraduate Research Faculty Mentoring Award from the Computing Research Association. The award recognizes faculty who provide exceptional mentorship and support to student researchers.
“I’m passionate about mentoring because doing research as an undergraduate changed the course of my career and my life,” Ernst said at the time. “I love making new discoveries — and I get a vicarious thrill from helping others to experience that same wonder.”