FShell: Systematic Test Case Generation for Dynamic Analysis and Measurement

Tool Paper
  • Andreas Holzer
  • Christian Schallhart
  • Michael Tautschnig
  • Helmut Veith
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5123)


Although the principal analogy between counterexample generation and white box testing has been repeatedly addressed, the usage patterns and performance requirements for software testing are quite different from formal verification. Our tool FShell provides a versatile testing environment for C programs which supports both interactive explorative use and a rich scripting language. More than a frontend for software model checkers, FShell is designed as a database engine which dispatches queries about the program to program analysis tools. We report on the integration of CBMC into FShell and describe architectural modifications which support efficient test case generation.


Model Checker Coverage Criterion Test Case Generation Bounded Model Check Program Path 
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.


  1. 1.
    Clarke, E.M., Kroening, D., Lerda, F.: A Tool for Checking ANSI-C Programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004)Google Scholar
  2. 2.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software Verification with BLAST. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 235–239. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Beyer, D., Chlipala, A.J., Henzinger, T.A., Jhala, R., Majumdar, R.: The Blast Query Language for Software Verification. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 2–18. Springer, Heidelberg (2004)Google Scholar
  4. 4.
    Beyer, D., Noack, A., Lewerentz, C.: Simple and Efficient Relational Querying of Software Structures. In: WCRE, pp. 216–225 (2003)Google Scholar
  5. 5.
    Beyer, D., Chlipala, A.J., Henzinger, T.A., Jhala, R., Majumdar, R.: Generating Tests from Counterexamples. In: ICSE, pp. 326–335 (2004)Google Scholar
  6. 6.
    Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with java PathFinder. In: ISSTA, pp. 97–107 (2004)Google Scholar
  7. 7.
    Hamon, G., de Moura, L.M., Rushby, J.M.: Generating Efficient Test Sets with a Model Checker. In: SEFM, pp. 261–270 (2004)Google Scholar
  8. 8.
    Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: FSE, pp. 263–272 (2005)Google Scholar
  9. 9.
    Ntafos, S.C.: A comparison of some structural testing strategies. IEEE Trans. Software Eng. 14(6), 868–874 (1988)CrossRefGoogle Scholar
  10. 10.
    Sedgewick, R.: Algorithms in C. Addison-Wesley Publishing Company, Inc., Reading (1990)zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Andreas Holzer
    • 1
  • Christian Schallhart
    • 1
  • Michael Tautschnig
    • 1
  • Helmut Veith
    • 1
  1. 1.Technische Universität DarmstadtGermany

Personalised recommendations