Skip to main content

PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis

  • Conference paper
Dependable Computing - EDCC 5 (EDCC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3463))

Included in the following conference series:

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gallagher, M.J., Narasimhan, V.L.: ADTEST: A Test Data Generation Suite for Ada Software Systems. IEEE Transactions on Software Engineering 23(8) (August 1997)

    Google Scholar 

  2. Gotlieb, A., Botella, B., Reuher, M.: A CLP Framework for Computing Structural Test Data. In: Palamidessi, C., Moniz Pereira, L., Lloyd, J.W., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 399–413. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Gouraud, S.-D., Denise, A., Gaudel, M.-C., Marre, B.: A New Way of Automating Statistical Testing Methods. In: ASE 2001, Coronado Island, California (November 2001)

    Google Scholar 

  4. Jeng, B., Weyuker, E.J.: A Simplified Domain-Testing Strategy. ACM Transactions on Software Engineering and Methodology 3(3), 254–270 (1994)

    Article  Google Scholar 

  5. Korel, B.: Automated Software Test Data Generation. IEEE Transactions on Software Engineering 16(8) (August 1990)

    Google Scholar 

  6. Leavens, G.T., Cheon, Y., Clifton, C., Ruby, C., Cok, D.R.: How the Design of JML Accommodates Both Runtime Assertion Checking and Formal Verification. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 262–284. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Marre, B., Arnould, A.: Test sequences generation from Lustre descriptions: GATeL. In: ASE 2000, Grenoble, pp. 229–237 (September 2000)

    Google Scholar 

  8. Marre, B., Mouy, P., Williams, N.: On-the-Fly Generation of K-Path Tests for C Functions. In: 19th IEEE Intnl. Conf. on Automated Software Engineering (ASE 2004), Linz, Austria (September 2004)

    Google Scholar 

  9. Michael, C., McGraw, G.: Automated Software Test Data Generation for Complex Programs. In: ASE, Honolulu (October 1998)

    Google Scholar 

  10. Michel, C., Rueher, M., Lebbah, Y.: Solving Constraints over Floating-Point Numbers. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, pp. 524–538. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Mouy, P.: Vers une méthode de génération de tests boîte grise “à la volée”. In: Approches Formelles dans l’Assistance au Développement de Logiciels (AFADL 2004), Besançon, France (June 2004)

    Google Scholar 

  12. Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs. In: Proc. Conference on Compiler Construction (2002)

    Google Scholar 

  13. Obayashi, M., Kubota, H., McCarron, S.P., Mallet, L.: The Assertion Based Testing Tool for OOP: ADL2. In: Proc. ICSE 1998, Kyoto, Japan (1998)

    Google Scholar 

  14. Prather, R.E., Myers, J.P.: The Path Prefix Testing Strategy. IEEE Transactions on Software Engineering 13(7) (July 1987)

    Google Scholar 

  15. Sy, N.T., Deville, Y.: Consistency Techniques for Interprocedural Test Data Generation. In: ESEC/FSE 2003, Helsinki, Finland, September 1-5 (2003)

    Google Scholar 

  16. Thevenod-Fosse, P., Waeselynck, H.: Software statistical testing based on structural and functional criteria. In: 11th International Software Quality Week, San Francisco (USA), May 26-29 (1998)

    Google Scholar 

  17. Wallace, M., Novello, S., Schimpf, J.: ECLiPSe: A Platform for Constraint Logic Programming. IC-Parc, Imperial College, London (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Williams, N., Marre, B., Mouy, P., Roger, M. (2005). PathCrawler: Automatic Generation of Path Tests by Combining Static and Dynamic Analysis. In: Dal Cin, M., Kaâniche, M., Pataricza, A. (eds) Dependable Computing - EDCC 5. EDCC 2005. Lecture Notes in Computer Science, vol 3463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11408901_21

Download citation

  • DOI: https://doi.org/10.1007/11408901_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25723-3

  • Online ISBN: 978-3-540-32019-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics