Monday, March 5, 2018 - 9:00am to 10:00am
KEC 1007

Speaker Information

Chengnian Sun
Software Engineer
Google

Abstract

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 Bio

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.