PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis We present the PathCrawler prototype tool for the automatic generation of test-cases satisfying the rigorous all-paths criterion, with a user-defined limit on the number of loop iterations in the covered paths. The prototype treats C code and we illustrate the test-case generation process on a representative example of a C function containing data-structures of variable dimensions, loops with variable numbers of iterations and many infeasible paths. PathCrawler is based on a novel combination of code instrumentation and constraint solving which makes it both efficient and open to extension. It suffers neither from the approximations and complexity of static analysis, nor from the number of executions demanded by the use of heuristic algorithms in function minimisation and the possibility that they fail to find a solution. We believe that it demonstrates the feasibility of rigorous and systematic testing of sequential programs coded in imperative languages.
Keywords for this software
References in zbMATH (referenced in 8 articles , 2 standard articles )
Showing results 1 to 8 of 8.
- Cavalcanti, Ana; Gaudel, Marie-Claude: Test selection for traces refinement (2015)
- Kirchner, Florent; Kosmatov, Nikolai; Prevosto, Virgile; Signoles, Julien; Yakobowski, Boris: Frama-C: a software analysis perspective (2015)
- Kim, Moonzoo; Kim, Yunho; Choi, Yunja: Concolic testing of the multi-sector Read operation for flash storage platform software (2012)
- Kosmatov, Nikolai; Williams, Nicky: Tutorial on automated structural testing with PathCrawler (extended abstract) (2012)
- Kosmatov, Nikolai; Williams, Nicky; Botella, Bernard; Roger, Muriel; Chebaro, Omar: A lesson on structural testing with PathCrawler-online.com (2012)
- Chebaro, Omar; Kosmatov, Nikolai; Giorgetti, Alain; Julliand, Jacques: The SANTE tool: value analysis, program slicing and test generation for C program debugging (2011)
- Gaudel, Marie-Claude: Checking models, proving programs, and testing systems (2011)
- Yan, Jun; Zhang, Jian: An efficient method to generate feasible paths for basis path testing (2008)