Applications of feasible path analysis to program testing

  • Authors:
  • Allen Goldberg;T. C. Wang;David Zimmerman

  • Affiliations:
  • Kestrel Institute, 3260 Hillview Avenue, Palo Alto, CA;Kestrel Institute, 3260 Hillview Avenue, Palo Alto, CA;Software Technology Center, Research and Development Division, Lockheed Missiles and Space Company, Palo Alto, CA

  • Venue:
  • ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

For certain structural testing criteria a significant proportion of tests instances are infeasible in the sense the semantics of the program implies that test data cannot be constructed that meet the test requirement. This paper describes the design and prototype implementation of a structural testing system that uses a theorem prover to determine feasibility of testing requirements and to optimize the number of test cases required to achieve test coverage. Using this approach, we were able to accurately and efficiently determine path feasibility for moderately-sized program units of production code written in a subset of Ada. On these problems, the computer solutions were obtained much faster and with greater accuracy than manual analysis. The paper describes how we formalize test criteria as control flow graph path expressions; how the criteria are mapped to logic formulas; and how we control the complexity of the inference task. It describes the limitations of the system and proposals for its improvement as well as other applications of the analysis.