Compiler Validation via Equivalence Modulo Inputs

Event Speaker
Chengnian Sun
Software Engineer, Google
Event Type
Colloquium
Date
Event Location
KEC 1007
Event Description

Compilers are among the most important system software. Its correctness is crucial to everyone’s daily life, directly or indirectly. In this talk, I present our continuous effort 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 describe two different state-of-the-art techniques to realize EMI, i.e., Athena and Hermes. I will also discuss the applications of these techniques to test other components of compilers, e.g warning diagnostics and link-time optimizers. Within over three years, we have reported ~1489 bugs in GCC and LLVM, of which ~930 are already fixed by developers. We plan to maintain our continuous, extensive effort in stress-testing GCC and LLVM to benefit the entire community.

Speaker Biography

Dr. Chengnian Sun is currently a software engineering at Google, working on large-scale static analyses and Java compiler toolchains. Prior to Google, he was a postdoctoral fellow at Department of Computer Science, University of California, Davis, USA. He obtained his Ph.D. from National University of Singapore in 2013. His research interests include software testing, software debugging, and software analytics. Currently, he is intrigued by and focused on designing effective techniques to test various aspects of optimizing compilers, which have helped detect hundreds of bugs in GCC and LLVM, two widely used production compilers.