Automatic Determination of Recommended Test Combinations for Ada Compilers

Abstract

Ada compilers are validated using the Ada Compiler Validation Capability (ACVC) test suit, containing over 4000 individual test programs. Each test program focuses, to the extent possible, on a single language feature. Despite the advantages of this atomic testing methodology, it is often the unexpected interactions between language features that result in compilation problems. This research investigated techniques to automatically identify recommended combinations of Ada language features for compiler testing. A prototype program was developed to analyze the Ada language grammar specification and generate a list of recommended of features to be tested. The output from this program will be used within the Ada Features Identification System (AFIS), a configuration management tool for the ACVC test suite. AFIS is being developed by the ACVC Maintenance Organization (AMO). The prototype uses annotated Ada language grammar to drive a test case generator. The generated combinations of Ada features are analyzed to select the combinations to be tested. While the skill and intuition of the compiler tester are essential to the annotation of the Ada grammar, the prototype demonstrated that automated support tools can be used to identify recommended combinations for Ada compiler testing.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1990
Accession Number
ADA230461

Entities

People

  • James S. Marr

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Databases
  • Generators
  • Grammars
  • High Level Languages
  • Identification Systems
  • Language
  • Linguistics
  • Literature Surveys
  • Loops
  • Operating Systems
  • Programming Languages
  • Shell Scripts

Fields of Study

  • Computer science
  • Engineering

Readers

  • Artificial Intelligence
  • Software Engineering
  • Software Verification and Validation.