2005
DOI: 10.1007/s11086-005-0002-z
|View full text |Cite
|
Sign up to set email alerts
|

Survey of Compiler Testing Methods

Abstract: Compilers are used for creating executable modules for programs written in high-level languages; therefore, the presence of errors in a compiler is a serious danger for the quality of the software developed with the use of this compiler. As in the case of any other software, testing is one of the most important methods of quality control and error detection in compilers. The survey is devoted to methods for generating, running, and checking the quality of compiler test suites, which are based on formal specifi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4

Citation Types

0
10
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 12 publications
(10 citation statements)
references
References 8 publications
0
10
0
Order By: Relevance
“…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
“…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%
“…test generation has been a topic of interest for many years (see e.g. [Boujarwah and Saleh 1997;Hanford 1970; Kossatchev and Posypkin 2005;Purdom 1972;Sauder 1962;Wichmann 1998]), and recent years have seen the development of several compiler fuzzing tools that employ randomised testing to search for bugs in (primarily C) compilers [Le et al 2014;Nakamura and Ishiura 2016;Yang et al 2011;Yarpgen 2018]. Such compiler fuzzers have practically demonstrated their ability to find hundreds of bugs, and particularly many miscompilations, in widely-used compilers.…”
mentioning
confidence: 99%
“…Compiler testing is a difficult and essential task due to the complexity and importance of compilers, and thus it has attracted extensive attentions from researchers [37], [38], [39], [40], [41]. Research on compiler testing can be divided into three main aspects, i.e., test-program generation, testoracle construction, and test-execution optimization.…”
Section: Related Work 81 Compiler Testingmentioning
confidence: 99%
“…Another related problem is testing and comparing code compilers , although in that case, research focused on generating test programs from syntactic and semantic definition rules.…”
Section: Related Workmentioning
confidence: 99%