Lecture Announcement | School of Information Science Lecture Series - No. 125

2024-06-27 09:00 Share:

Title: Compiler Validation via Equivalence Modulo Inputs

Lecture Time: June 28, 2024, 10:00-11:30

Venue: Lecture Hall, 4th Floor, Information Building

Tencent Meeting ID: 449-359-363


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. These techniques have helped us find ~1600 new, real bugs in GCC and LLVM, of which ~90% are already fixed by the compiler developers. My current group has also designed a syntax-guided language-agnostic compiler validation technique, which has uncovered over 300 new, real bugs in GCC, LLVM, Rust, Solidity, Scalar and other compilers.


Lecturer

/Home/News/Events/

Dr. Chengnian Sun is an Associate Professor in the Cheriton School of Computer Science at the University of Waterloo. His primary research interests encompass the domains of software engineering and programming languages. His focused efforts involve the conceptualization and implementation of techniques, tools, and methodologies that contribute to the enhancement of software reliability and developers’ productivity. He has published more than 50 peer-reviewed papers at top-tier conferences and journals, such as ICSE, ASPLOS, PLDI, FSE and TOSEM. These works have generated over 3800+ citations; one paper was awarded the ACM Distinguished Paper Award at ASE 2012, one was nominated for Best Paper Award at ICSM 2013, and one was awarded the 10-Year Most Influential Paper Award at SANER 2022. Before joining UWaterloo, he was a full-time software engineer at Google, Mountain View, working on Java/Android compiler tool-chains 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, and a Bachelor degree from Northeastern University, China.