IC Colloquium : EMI Testing: Finding 1000+ Bugs in GCC and LLVM in 3 Years

Thumbnail

Event details

Date 06.10.2016
Hour 16:1517:30
Location
Category Conferences - Seminars
By : Zhendong Su - UC Davis

Video of his talk


Abstract :
In this talk, I will describe equivalence modulo inputs (EMI), a general methodology for validating optimizing compilers. The key insight is to exploit the close interplay between (1) dynamically executing a program on some test input and (2) statically compiling the program to work on all possible input. Indeed, the test input induces a natural collection of the original program's EMI variants, which help test any compiler and specifically target the difficult-to-find miscompilations. We have developed a series of gradually sophisticated techniques to generate EMI variants by (1) profiling a program's test executions, and (2) stochastically deleting/inserting/mutating code. Our extensive testing to date has led to 1000+ confirmed bug reports for GCC and LLVM alone, of which 600+ have already been fixed. The EMI concept is widely applicable --- beyond testing compilers, it can be adapted to validate program transformations and analyses, and software in general.

Bio :
Zhendong Su is a Professor and Chancellor's Fellow at UC Davis. He received his PhD in Computer Science from UC Berkeley.  His research focuses on developing methodologies, practical techniques and tools for improving software quality and programming productivity. His work has been recognized with an EAPLS Best Paper Award, multiple ACM SIGSOFT Distinguished Paper Awards, an OOPSLA Best Paper Award, a PLDI Distinguished Paper Award, an NSF CAREER Award, a UC Davis College of Engineering Outstanding Faculty Award, an IBM Software Quality Innovation Award, a Microsoft SEIF Award, and a Google Faculty Award. He has served as an Associate Editor for ACM TOSEM, co-chaired the 2009 Static Analysis Symposium, was the program chair of the 2012 International Symposium on Software Testing and Analysis, and is program co-chair for the 2016 International Symposium on the Foundations of Software Engineering.

More information

Practical information

  • General public
  • Free
  • This event is internal

Contact

  • Host : V. Kuncak

Share