Automatic test data generation using constraint solving techniques

  • Authors:
  • Arnaud Gotlieb;Bernard Botella;Michel Rueher

  • Affiliations:
  • Dassault Electronique, 55 quai Marcel Dassault, 92214 Saint Cloud, France and Université de Nice - Sophia Antipolis;Dassault Electronique, 55 quai Marcel Dassault, 92214 Saint Cloud, France;Université de Nice-Sophia Antipolis, I3S-CNRS Route des colles, BP 145, 06903 Sophia Antipolis, France

  • Venue:
  • Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automatic test data generation leads to identify input values on which a selected point in a procedure is executed. This paper introduces a new method for this problem based on constraint solving techniques. First, we statically transform a procedure into a constraint system by using well-known "Static Single Assignment" form and control-dependencies. Second, we solve this system to check whether at least one feasible control flow path going through the selected point exists and to generate test data that correspond to one of these paths.The key point of our approach is to take advantage of current advances in constraint techniques when solving the generated constraint system. Global constraints are used in a preliminary step to detect some of the non feasible paths. Partial consistency techniques are employed to reduce the domains of possible values of the test data. A prototype implementation has been developped on a restricted subset of the C language. Advantages of our approach are illustrated on a non-trivial example.