Abstract | ||
---|---|---|
This paper describes RandIR, a tool for differential testing of compilers using random instances of a given intermediate representation (IR). RandIR assumes no fixed target language but instead supports extensible IR-definitions through an internal IR-independent representation of operations. This makes it particularly well suited to test embedded compilers for multi-stage programming, which is our main use case. The ideas underlying our work, however, are more generally applicable. RandIR is able to automatically simplify failing instances of a test, a technique commonly referred to as shrinking. This enables testing with large random IR samples, thus increasing the odds of detecting a buggy behavior, while still being able to simplify failing instances to human-readable code. |
Year | DOI | Venue |
---|---|---|
2016 | 10.1145/2998392.2998397 | SCALA@SPLASH |
Keywords | Field | DocType |
embedded compilers,compiler testing,compiler defect,automated random testing,bug reporting,test-case minimization | Programming language,Computer science,Parallel computing,Compiler,A-normal form,Compiler construction,Differential testing,Intermediate language,Odds,Extensibility | Conference |
Citations | PageRank | References |
1 | 0.35 | 6 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Georg Ofenbeck | 1 | 22 | 2.66 |
Tiark Rompf | 2 | 743 | 45.86 |
Markus Püschel | 3 | 982 | 80.64 |