It is very difficult to thoroughly test a compiler, and as a
consequence it is common for released versions of production compilers
to contain bugs that cause them to crash and to emit incorrect object
code.
We created alive-mutate, a mutation-based fuzzing tool that takes test
cases written by humans and randomly modifies them, based on the
hypothesis that while compiler developers are fundamentally good at
writing tests, they also tend to miss corner cases.
Alive-mutate is integrated with the Alive2 translation validation tool
for LLVM, which is useful because it checks the behavior of
optimizations for all possible values of input variables.
Alive-mutate is also integrated with the LLVM middle-end, allowing it
to perform mutations, optimizations, and formal verification of the
optimizations all within a single program—avoiding numerous sources
of overhead.
Alive-mutate's fuzzing throughput is 12x higher, on average, than a
fuzzing workflow that runs mutation, optimization, and formal
verification in separate processes.
So far we have used alive-mutate to find and report 33 previously
unknown bugs in LLVM.
Tue 5 MarDisplayed time zone: London change
16:10 - 17:30 | |||
16:10 20mTalk | Compiler Testing with Relaxed Memory Models Main Conference | ||
16:30 20mTalk | High-Throughput, Formal-Methods-Assisted Fuzzing for LLVM Main Conference | ||
16:50 20mTalk | EasyTracker: A Python Library for Controlling and Inspecting Program Execution Main Conference Théo Barollet University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Christophe Guillon University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Manuel Selva University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, François Broquedis University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Florent Bouchez-Tichadou University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG, Fabrice Rastello University Grenoble Alpes - Inria - CNRS - Grenoble INP - LIG Pre-print | ||
17:10 20mTalk | OptiWISE: Combining Sampling and Instrumentation for Granular CPI Analysis Main Conference Yuxin Guo University of Cambridge, Alexandra W. Chadwick University of Cambridge, Marton Erdos University of Cambridge, Utpal Bora University of Cambridge, Ilias Vougioukas Arm, Giacomo Gabrielli Arm, Timothy M. Jones University of Cambridge Pre-print Media Attached |