Blogs (9) >>
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Fri 4 Nov 2016 13:30 - 13:55 at Matterhorn 1 - Bug Detection Analysis and Model Checking Chair(s): Ben Livshits

Validating optimizing compilers is challenging because it is
hard to generate valid test programs (i.e., those that do not
expose any undefined behavior). Equivalence Modulo Inputs
(EMI) is an effective, promising methodology to tackle this
problem. Given a test program with some inputs, EMI mutates
the program to derive variants that are semantically
equivalent w.r.t. these inputs. The state-of-the-art instantiations
of EMI are Orion and Athena, both of which rely
on deleting code from or inserting code into code regions
that are not executed under the inputs. Although both have
demonstrated their ability in finding many bugs in GCC and
LLVM, they are still limited due to their mutation strategies
that operate only on dead code regions.

This paper presents a novel EMI technique that allows
mutation in the entire program (i.e., both live and dead regions).
By removing the restriction of mutating only the dead
regions, our technique significantly increases the EMI variant
space. It also helps to more thoroughly stress test compilers
as compilers must optimize mutated live code, whereas
mutated dead code might be eliminated. Finally, our technique
also makes compiler bugs more noticeable as miscompilations
on mutated dead code may not be observable.

We have realized the proposed technique in Hermes.
The evaluation demonstrates Hermes’s effectiveness. In 13
months, Hermes found 168 confirmed, valid bugs in GCC
and LLVM, of which 132 have already been fixed.

Conference Day
Fri 4 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Bug Detection Analysis and Model CheckingOOPSLA at Matterhorn 1
Chair(s): Ben LivshitsMicrosoft Research
Finding Compiler Bugs via Live Code Mutation
Chengnian SunUniversity of California, Davis, Vu LeMicrosoft, Zhendong SuUniversity of California, Davis
DOI Media Attached
Finding Resume and Restart Errors in Android Applications
Zhiyong ShanUniversity of Central Missouri, USA, Tanzirul AzimUniversity of California at Riverside, USA, Iulian NeamtiuNew Jersey Institute of Technology, USA
DOI Pre-print
Low-Overhead and Fully Automated Statistical Debugging with Abstraction RefinementAEC
Zhiqiang ZuoUniversity of California, Irvine, Lu FangUniversity of California, Irvine, Siau-Cheng Khoo, Harry XuUniversity of California, Irvine, Shan LuUniversity of Chicago
DOI Media Attached
To Be Precise: Regression Aware Debugging
Rohan BavishiIIT Kanpur, India, Awanish PandeyIIT Kanpur, India, Subhajit RoyIIT Kanpur, India