A Lesson on Structural Testing with

  • Nikolai Kosmatov
  • Nicky Williams
  • Bernard Botella
  • Muriel Roger
  • Omar Chebaro
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7305)


PathCrawler is a test generation tool developed at CEA LIST for structural testing of C programs. The new version of PathCrawler is developed in an entirely novel form: that of a test-case generation web service which is freely accessible at This service allows many test-case generation sessions to be run in parallel in a completely robust and secure way. This tool demo and teaching experience paper presents in the form of a lesson on structural software testing, showing its benefits, limitations and illustrating the usage of the tool on simple examples.


Test Generation Structural Testing Constraint Program Execution Path Array Access 
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. 1.
    Williams, N., Marre, B., Mouy, P., Roger, M.: PathCrawler: Automatic generation of path tests by combining static and dynamic analysis. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds.) EDCC 2005. LNCS, vol. 3463, pp. 281–292. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Botella, B., Delahaye, M., Hong-Tuan-Ha, S., Kosmatov, N., Mouy, P., Roger, M., Williams, N.: Automating structural testing of C programs: Experience with PathCrawler. In: AST 2009 (2009)Google Scholar
  3. 3.
    Kosmatov, N.: PathCrawler online (2010-2012),
  4. 4.
    Godefroid, P., Klarlund, N., Sen, K.: DART: Directed automated random testing. In: PLDI 2005 (2005)Google Scholar
  5. 5.
    Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: ESEC/FSE 2005 (2005)Google Scholar
  6. 6.
    Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R.: EXE: automatically generating inputs of death. In: CCS 2006 (2006)Google Scholar
  7. 7.
    Tillmann, N., de Halleux, J.: Pex–White Box Test Generation for .NET. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 134–153. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Beckman, N.E., Nori, A.V., Rajamani, S.K., Simmons, R.J.: Proofs from tests. In: ISSTA 2008 (2008)Google Scholar
  9. 9.
    AgitarOne Test Generator (2012),
  10. 10.
    Gotlieb, A.: Euclide: a constraint-based testing platform for critical C programs. In: ICST 2009 (2009),
  11. 11.
    Pex for fun: Online evaluation version of PEX (2011),
  12. 12.
  13. 13.
  14. 14.
    Rueher, M.: Exploration of the Capabilities of Constraint Programming for Software Verification. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 182–196. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Williams, N.: WCET measurement using modified path testing. In: WCET 2005 (2005)Google Scholar
  16. 16.
    Chebaro, O., Kosmatov, N., Giorgetti, A., Julliand, J.: The SANTE Tool: Value Analysis, Program Slicing and Test Generation for C Program Debugging. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 78–83. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Chebaro, O., Kosmatov, N., Giorgetti, A., Julliand, J.: Program slicing enhances a verification technique combining static and dynamic analysis. In: SAC 2012 (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Nikolai Kosmatov
    • 1
  • Nicky Williams
    • 1
  • Bernard Botella
    • 1
  • Muriel Roger
    • 1
  • Omar Chebaro
    • 2
  1. 1.Software Safety LaboratoryCEA, LISTGif-sur-YvetteFrance
  2. 2.ASCOLA (EMN-INRIA, LINA)École des Mines de NantesNantesFrance

Personalised recommendations