A CLP Framework for Computing Structural Test Data
Structural testing techniques are widely used in the unit testing process of softwares. A major challenge of this process consists in generating automatically test data, i.e., in finding input values for which a selected point in a procedure is executed. We introduce here an original framework where the later problem is transformed into a CLP(FD) problem. Specific operators have been introduced to tackle this kind of application. The resolution of the constraint system is based upon entailment techniques. A prototype system — named InKa — which allows to handle a non-trivial subset of programs written in C has been developed. First experimental results show that InKa is competitive with traditional ad-hoc methods. Moreover, InKa has been used successfully to generate test data for programs extracted from a real application.
KeywordsOperational Semantic Constraint System Symbolic Execution Test Data Generation Block Coverage
Unable to display preview. Download preview PDF.
- CFR+91._Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficently Computing Static Single Assignment Form and the Control Dependence Graph. Transactions on Programming Languages and Systems, 13(4):451–490, October 1991.Google Scholar
- FK96.Roger Ferguson and Bogdan Korel. The Chaining Approach for Software Test Data Generation”. ACM Transactions on Software Engineering and Methodology, 5(1):63–86, January 1996.Google Scholar
- FOW87.Jeanne Ferrante, Karl J. Ottenstein, and J. David Warren. The Program Dependence Graph and its use in optimization. Transactions on Programming Languages and Systems, 93:319–349, July 1987.Google Scholar
- GBR98.Arnaud Gotlieb, Bernard Botella, and Michel Rueher. Automatic Test Data Generation Using Constraint Solving Techniques. In Proc. of the Sigsoft International Symposium on Software Testing and Analysis, Clearwater Beach, Florida, USA, March 2–5 1998. Software Engineering Notes, 23(2):53–62. disponible at http://www.essi.fr/~rueher/.
- Got00.A. Gotlieb. Automatic Test Data Generation using Constraint Logic Programming. PhD thesis, PHD Dissertation (in French), Université de Nice-Sophia Antipolis, January 2000.Google Scholar
- Kin76.James C. King. Symbolic Execution and Program Testing. Communications of the ACM, 19(7):385–394, July 1976.Google Scholar
- Kor90.Bogdan Korel. Automated Software Test Data Generation. IEEE Transactions on Software Engineering, 16(8):870–879, august 1990.Google Scholar
- Nta98.S. Ntafos. On Random and Partition Testing. In Proceedings of Sigsoft International Symposium on Software Testing and Analysis, volume 23(2), pages 42–48, Clearwater Beach, FL, March,2–5 1998. ACM, SIGPLAN Notices on Software Engineering.Google Scholar