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 specifications of the programming language syntax and semantics.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.REFERENCES
Serebryakov, V.A., Lektsii po konstruirovaniyu kompilyatorov (Lectures on Compiler Design), Moscow, 1993.
P.A. Purdom (1972) ArticleTitleA Sentence Generator for Testing Parsers BIT 2 336–375
Malloy, B.A. and Power, J.F., An Interpretation of Purdom’s Algorithm for Automatic Generation of Test Cases, Proc. of ICIS’01, 2001.
R. Lämmel (2001) Grammar Testing Lecture Notes in Computer Science (Proc. of Fundamental Approaches to Software Eng. (FASE), 2001) Springer Berlin 201–216
Zelenova, S.V., Demakov, A.V., and Zelenov, S.A., Testing of Text Parsers in Formal Languages, Programnye sistemy instrumenty, 2001, no. 2.
Guilmette, R.F., TGGS: A Flexible System for Generating Efficient Test Case Generators, 1999.
Maurer, P.M., Generating Test Data with Enhanced Context-Free Grammars, IEEE Software, 1990, pp. 50–55.
P.M. Maurer (1992) ArticleTitleThe Design and Implementation of a Grammar-Based Data Generator Software Practice Experience 22 IssueID3 223–244
Sirer, E. and Bershad, B., Using Production Grammars in Software Testing, Proc. of the Second Conf. on Domain-Specific Languages, 1999.
Automated Syntax Testing Using JSynTestTM, http://software.qip.us/jsyntest.htm.
ter Doest, H., Stochastic Languages and Stochastic Grammars, Proc. of the 1994 Groningen Student Conf. on Comput. Sci. (Groenbaum, H.M., Kleijn-Hesselink, H.W., and Lankhast, M.M., Eds.), 1994, pp. 51–59.
W. McKeeman (1998) ArticleTitleDifferential Testing for Software Digital Tech. J. 10 IssueID1 100–107
Zelenov, S.V. and Zelenova, S.A., Automatic Generation of Positive and Negative Tests for Testing Syntax Analysis Stage, Programmirovanie (in press).
A.K. Petrenko T.A. Chatskina M.V. Borisova T.A. Morozova (1992) Testirovanie kompilyatorov na osnove formal’noi modeli yazyka Institut prikladnoi matematiki im. M.V. Keldysha Ross. Akad. Nauk Moscow
J. Harm (1997) ArticleTitleAutomatic Test Program Generation from Formal Language Specification Rostocker Informatic-Berishte 20 33–56
Harm, J. and Lämmel, R., Two-Dimensional Approximation Coverage, Informatica, 2000, vol. 24, no. 3.
Harm, J. and Lämmel, R., Testing Attribute Grammars, Proc. of the Third Workshop on Attribute Grammars and Their Applications, 2000, pp. 79–98.
Duncan, A.G. and Hutchinson, J.S., Using Attributed Grammars to Test Design and Implementations, Proc. of the 5th Int. Conf. on Software Eng., 1981, pp. 170–178.
Kalinov, A., Kossatchev, A., Petrenko, A., Posypkin, M., and Shishkov, V., Coverage-Driven Automated Compiler Test Suite Generation, Proc. of LDTA’2003, Elsevier, 2003, vol. 82.
Tretmans, J., Testing Techniques, 2002.
C.J. Burgess M. Saidi (1996) ArticleTitleThe Automatic Generation of Test Cases for Optimizing Fortran Compilers Information Software Technol. 38 111–119
Kalinov, A., Kossatchev, A., Posypkin, M., and Shishkov, V., Using ASM Specification for Automatic Test Suite Generation for mpC Parallel Programming Language Compiler, Proc. of the Fourth Int. Workshop on Action Semantics AS 2002, 2002, pp. 96–106.
Kossatchev, A.S., Kutter, P., and Posypkin, M.A., Automated Generation of Strictly Conforming Tests Based on Formal Specification of Dynamic Semantics of the Programming Language, Programmirovanie, 2004, no. 4, pp. 52–67.
Zelenov, S.V., Zelenova, S.A., Kossatchev, A.S., and Petrenko, A.K., Generation of Tests for Compilers and other Text Processors, Programmirovanie, 2003, no. 2, pp. 59–69.
Kossatchev, A.S., Petrenko, A.K., Zelenov, S.V., and Zelenova, S.A., Application of Model-Based Approach for Automated Testing of Optimizing Compilers, Proc. of the Int. Workshop on Program Understanding, 2004, pp. 81–88.
Kaufman, V.Sh., Standardization and Control of Translators, in Razlichnye aspekty sistemnogo programmirovaniya (Various Aspects of System Programming), 1984, pp. 47–85.
Sukhomlin, V.A., Triple Standard 3C++ Programming System, Int. Conf. “Open System Development and Application,” 1997, pp. 37–47.
Baskakov, Yu.V., Principles of Construction of Test Suites for Testing Compiler Conformity with Programming Language Standards, Teoreticheskie i prikladnye problemy informatsionnykh tekhnologii (Theoretical and Applied Problems of Information Technologies), Sukhomlin, V.A., Ed., 2001.
eXtensible Abstract State Machines, http://www.xasm.org.
P. Kutter A. Pierantonio (1997) ArticleTitleMontages: Specifications of Realistic Programming Languages J. Universal Comput. Sci. 3 IssueID5 416–442
A. Lastovetsky (1996) ArticleTitlempC—A Multi-Paradigm Programming Language for Massively Parallel Computers ASM SIGPLAN Notices 31 IssueID2 13–20
Gurevich, Y., Evolving Algebras 1993: Lipari Guide, Specification and Validation Methods, Börger, E., Ed., Oxford Univ. Press, 1995, pp. 9–36.
Author information
Authors and Affiliations
Additional information
Translated from Programmirovanie, Vol. 31, No. 1, 2005.
Original Russian Text Copyright © 2005 by Kossatchev, Posypkin.
Rights and permissions
About this article
Cite this article
Kossatchev, A.S., Posypkin, M.A. Survey of compiler testing methods. Program Comput Soft 31, 10–19 (2005). https://doi.org/10.1007/s11086-005-0008-6
Received:
Issue Date:
DOI: https://doi.org/10.1007/s11086-005-0008-6