Compiler Validation via Equivalence Modulo Inputs

Chengnian Sun - University of Waterloo

April 29, 2022, 2:30 p.m. - April 29, 2022, 3:30 p.m.

Virtual (see link below)

Hosted by: Xujie Si

Abstract: As an integral component of the foundation of our digital world, compilers are among the most important system software. Thus, their correctness is crucial to everyone’s daily life, directly or indirectly. In this talk, I present our continuous efforts on validating optimizing compilers with equivalence modulo inputs (EMI), a general and effective methodology to generate equivalent programs from existing valid programs. Specifically, I will present two different state-of-the-art techniques to realize EMI, i.e., Athena and Hermes. In the past five years, these techniques have helped us find ~1600 new, real bugs in GCC and LLVM, of which ~1000 are already fixed by the compiler developers. We have been maintaining a continuous, extensive effort in stress-testing production compilers. We are also working on other techniques to improve production compilers in various aspects such as warning diagnostics and debugging experiences.



Bio: Dr. Chengnian Sun is an Assistant Professor at Cheriton School of Computer Science, University of Waterloo. His research interests are in software engineering and programming languages, focusing on designing and developing techniques, tools, and methodologies for improving software reliability and developers’ productivity. Before joining UWaterloo, he was a full-time software engineer at Google Headquarters, working on Java/Android compiler toolchains and machine learning libraries for Google Search. Prior to Google, he spent three wonderful years as a postdoctoral fellow at the University of California, Davis, working on compiler validation techniques, which have detected 1600+ bugs in GCC and LLVM. He holds a Ph.D. in Computer Science from the National University of Singapore.

Zoom link: