Compiler test suite: evaluation and use in an automated test environment

https://doi.org/10.1016/0950-5849(94)90020-5Get rights and content

Abstract

Software quality is accomplished through the application of formal development techniques and the use of vigorous verification procedures throughout the software development life-cycle. Software testing is one of the life-cycle verification activities. The generation of test data is often an exhaustive task which is normally sized by a test selection strategy based on certain test coverage criteria. In the development of critical and dependable computer software such as real-time safety-critical software systems and language compilers, the verification activities consume over 50% of the project time. As compilers are large and complex programs, it is difficult to verify that the compiler implementation conforms to its (formal and semi-formal) specifications. The selection of a suitable test suite for compiler testing is a difficult problem. The test suite should cover all the features (i.e., context-free and non-context-free) of the programming language that the compiler being tested was designed for. In this paper, we describe three instrumentation-based test suite evaluation approaches that use the formal specifications of the language to evaluate the coverage of existing test suites. We also show how to use certified compiler test suites to verify automatically the validity of a compiler under test.

References (15)

  • B Beizer

    Software testing techniques

    (1990)
  • G Myers

    The art of software testing

    (1979)
  • AW Richards et al.

    Validation, verification, and testing of computer software

    ACM Comput. Surv.

    (1982)
  • KV Hanford

    Automatic generation of test cases

    IBM System J.

    (1979)
  • F Bazzichi et al.

    An automatic generator for compiler testing

    Trans. Soft. Eng.

    (July 1982)
  • B Wichmann et al.

    Testing Algol 60 compilers

    Software—Practice and Experience

    (April 1976)
  • LJ Osterweil et al.

    DAVE—a validation error detection and documentation system for Fortran programs

    Software—Practice and Experience

    (October 1976)
There are more references available in the full text version of this article.

Cited by (6)

  • Software languages: Syntax, semantics, and metaprogramming

    2018, Software Languages: Syntax, Semantics, and Metaprogramming
  • Testing grammars for top-down parsers

    2010, Innovations and Advances in Computer Sciences and Engineering
  • Grammar testing

    2001, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
View full text