EMI-based Compiler Testing

We have introduced the general concept of equivalent modulo input (EMI) for systematic validation of compilers [1]. Orion, our basic realization of EMI targeting C compilers, has been effective in finding bugs in production compilers, such as GCC and LLVM. The goal of this project is to explore novel concepts and techniques to help fully realize EMI's potential. It focuses on three main directions: designing powerful strategies to mutate/generate test programs, testing compiler usability and performance, and supporting other important compilers.

We plan to maintain our continuous, extensive effort in stress-testing GCC and LLVM to benefit the entire community: