A CLP Framework for Computing Structural Test Data

  • Arnaud Gotlieb
  • Bernard Botella
  • Michel Rueher
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)


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.


Operational Semantic Constraint System Symbolic Execution Test Data Generation Block Coverage 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. DO93.
    R. A. Demillo and A. J. Offut. Experimental Results from an Automatic Test Case Generator. Transactions on Software Engineering Methodology, 2(2):109–175, 1993.CrossRefGoogle Scholar
  3. 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
  4. 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
  5. 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
  6. 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
  7. HSD98.
    Pascal Van Hentenryck, Vijav Saraswat, and Yves Deville. Design, implementation, and evaluation of the constraint language cc(fd). Journal of Logic Programming, 37:139–164, 1998. Also in CS-93-02 Brown-University 1993.zbMATHCrossRefGoogle Scholar
  8. Kin76.
    James C. King. Symbolic Execution and Program Testing. Communications of the ACM, 19(7):385–394, July 1976.Google Scholar
  9. Kor90.
    Bogdan Korel. Automated Software Test Data Generation. IEEE Transactions on Software Engineering, 16(8):870–879, august 1990.Google Scholar
  10. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Arnaud Gotlieb
    • 1
  • Bernard Botella
    • 1
  • Michel Rueher
    • 2
  1. 1.Centre Charles NungesserThomson-CSF DetexisElancourt CedexFrance
  2. 2.I3S ESSIUniversité de Nice-Sophia-AntipolisSophia-AntipolisFrance

Personalised recommendations