Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applicatio 2016
DOI: 10.1145/2983990.2984038
|View full text |Cite
|
Sign up to set email alerts
|

Finding compiler bugs via live code mutation

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
48
0

Year Published

2018
2018
2023
2023

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 114 publications
(48 citation statements)
references
References 22 publications
0
48
0
Order By: Relevance
“…While very different from P in general, each such program should behave functionally identically to P when executed on input x; discrepancies indicate miscompilations. Follow-on tools, Athena [Le et al 2015a] and Hermes [Sun et al 2016a], extend the EMI idea using more advanced profiling and mutation techniques; we refer to the three tools collectively as EMI. To date, the project has enabled the discovery of more than 1,600 bugs in LLVM and GCC, of which about 550 are miscompilations.…”
Section: Fuzzers and Compiler Verification Tools Studiedmentioning
confidence: 99%
See 2 more Smart Citations
“…While very different from P in general, each such program should behave functionally identically to P when executed on input x; discrepancies indicate miscompilations. Follow-on tools, Athena [Le et al 2015a] and Hermes [Sun et al 2016a], extend the EMI idea using more advanced profiling and mutation techniques; we refer to the three tools collectively as EMI. To date, the project has enabled the discovery of more than 1,600 bugs in LLVM and GCC, of which about 550 are miscompilations.…”
Section: Fuzzers and Compiler Verification Tools Studiedmentioning
confidence: 99%
“…29 Automated Compiler Testing. The idea of randomly generating or mutating programs to induce errors in production compilers and interpreters has a long history, with grammar-or mutationbased fuzzers having been designed to test implementations of languages such as COBOL [Sauder 1962], PL/I [Hanford 1970], FORTRAN [Burgess and Saidi 1996], Ada and Pascal [Wichmann 1998], and more recently C [Le et al 2014[Le et al , 2015aNagai et al 2014;Nakamura and Ishiura 2016;Sun et al 2016a;Yang et al 2011;Yarpgen 2018], JavaScript and PHP [Holler et al 2012], Java byte-code [Chen et al 2016], OpenCL [Lidbury et al 2015], GLSL [Donaldson et al 2017;Donaldson and Lascu 2016] and C++ [Sun et al 2016b] (see also two surveys on the topic [Boujarwah and Saleh 1997;Kossatchev and Posypkin 2005]). Related approaches have been used to test other programming language processors, such as static analysers , refactoring engines [Daniel et al 2007], and symbolic executors [Kapus and Cadar 2017].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…As common compilers require a program or a function as their input, we also categorize compiler testing [Pałka et al 2011;Sun et al 2016;Yang et al 2011] as a part of higher-order program testing. While existing works on compiler testing targeted to generate relatively sizable yet expressive programs to make divergent behaviors of several compilers, our goal is to detect a concise counterexample which causes a behavioral difference between two programs.…”
Section: Related Workmentioning
confidence: 99%
“…Specifically, for a compiler, a program, and an input, it generates input-equivalent variants of the program by altering unexecuted statements and checks that these variants compiled by the compiler produce the same outputs. A recent extension of this approach [34] modifies executed statements by inserting random code guarded by a condition that is evaluated into false in the context of the given test, which can be considered as an application of value-based test-equivalence relation. Our dependency-based test-equivalence relation and the proposed composition of several analyses might be used to increase the effectiveness of compiler testing by synthesizing non-trivial input-equivalent program modifications.…”
Section: Related Workmentioning
confidence: 99%