Automatic test data generation using constraint solving techniques

Arnaud Gotlieb, Bernard Botella, Michel Rueher
1998 Proceedings of ACM SIGSOFT international symposium on Software testing and analysis - ISSTA '98  
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 cont:ol-dependencies. Second, we solve this system to che"k whether at least one feasible control flow path goir.g through the selected point exists and to generate
more » ... t 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 ,:onstraint system. Global constraints are used in a prelil ninary step to detect some of the non feasible paths. Pz rtial consistency techniques are employed to reduce the domains of possible values of the test data. A prototype il.lplementation has been developped on a restricted subset of the C language. Advantages of our approach are i.lustrated on a non-trivial example.
doi:10.1145/271771.271790 dblp:conf/issta/GotliebBR98 fatcat:rsowyb2jkracfnnz2i5bsmgb54