Skip to main content

A Random Testing Approach Using Pushdown Automata

  • Conference paper
Tests and Proofs (TAP 2011)

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

Included in the following conference series:

Abstract

Developing efficient and automatic testing techniques is one of the major challenges facing the software validation community. Recent work by Denise and al. (in MBT’08 proceedings) shows how to draw traces uniformly at random in large systems modeled by finite automata for testing purposes. Since finite automata are strong abstractions of systems, many generated test cases following this approach may be un-concretizable, i.e., do not correspond to any concrete execution of the system under test. In this paper, we propose to tackle this problem by extending the approach to pushdown systems that can encode either a stack data structure or the call stack. The method is based on context-free grammar algorithms, and relies on combinatorial techniques to guarantee the uniformity of generated traces.

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. Beizer, B.: Black-Box Testing: Techniques for Functional Testing of Software and Systems. John Wiley & Sons, New York (1995)

    Google Scholar 

  2. Offutt, A., Xiong, Y., Liu, S.: Criteria for Generating Specification-Based Tests. In: 5th International Conference on Engineering of Complex Computer Systems (ICECCS 1999), p. 119. IEEE Computer Society, Las Vegas (1999)

    Google Scholar 

  3. Groce, A., Joshi, R.: Random testing and model checking: building a common framework for nondeterministic exploration. In: WODA 2008, pp. 22–28. ACM, New York (2008)

    Google Scholar 

  4. Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines - a survey. Proceedings of the IEEE, 1090–1123 (1996)

    Google Scholar 

  5. Campbell, C., Grieskamp, W., Nachmanson, L., Schulte, W., Tillmann, N., Veanes, M.: Testing concurrent object-oriented systems with spec explorer. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 542–547. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Jard, C., Jéron, T.: TGV: theory, principles and algorithms, a tool for the automatic synthesis of conformance test cases for non-deterministic reactive systems. Software Tools for Technology Transfer (STTT) 6 (2004)

    Google Scholar 

  7. Gotlieb, A., Botella, B., Rueher, M.: Automatic test data generation using constraint solving techniques. In: ISSTA, pp. 53–62 (1998)

    Google Scholar 

  8. Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2008)

    Book  MATH  Google Scholar 

  9. Purdom, P.: A sentence generator for testing parsers. BIT 12, 366–375 (1972)

    Article  MATH  Google Scholar 

  10. Daniel, B., Dig, D., Garcia, K., Marinov, D.: Automated testing of refactoring engines. In: ESEC/FSE 2007: Proceedings of the ACM SIGSOFT Symposium on the Foundations of Software Engineering. ACM Press, New York (2007)

    Google Scholar 

  11. Coppit, D., Lian, J.: Yagg: an easy-to-use generator for structured test inputs. In: Redmiles, D.F., Ellman, T., Zisman, A. (eds.) ASE, pp. 356–359. ACM, New York (2005)

    Chapter  Google Scholar 

  12. Lämmel, R., Schulte, W.: Controllable combinatorial coverage in grammar-based testing. In: Uyar, M., Duale, A., Fecko, M. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 19–38. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Majumdar, R., Xu, R.G.: Directed test generation using symbolic grammars. In: Stirewalt, R.E.K., Egyed, A. (eds.) ASE, pp. 134–143. ACM, New York (2007)

    Chapter  Google Scholar 

  14. Godefroid, P., Kiezun, A., Levin, M.: Grammar-based whitebox fuzzing. In: Gupta, R., Amarasinghe, S.P. (eds.) PLDI, pp. 206–215. ACM, New York (2008)

    Chapter  Google Scholar 

  15. Xu, Z., Zheng, L., Chen, H.: A toolkit for generating sentences from context-free grammars. In: Software Engineering and Formal Methods, pp. 118–122. IEEE, Los Alamitos (2010)

    Google Scholar 

  16. Lämmel, R.: Grammar testing. In: Hußmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 201–216. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Zheng, L., Wu, D.: A sentence generation algorithm for testing grammars. In: Ahamed, S., Bertino, E., Chang, C., Getov, V., Liu, L., Ming, H., Subramanyan, R. (eds.) COMPSAC, vol. (1), pp. 130–135. IEEE Computer Society, Los Alamitos (2009)

    Google Scholar 

  18. Alves, T., Visser, J.: A case study in grammar engineering. In: Gašević, D., Lämmel, R., Van Wyk, E. (eds.) SLE 2008. LNCS, vol. 5452, pp. 285–304. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  19. Duran, J., Ntafos, S.: A report on random testing. In: ICSE 1981: Proceedings of the 5th International Conference on Software Engineering, pp. 179–183. IEEE Press, Piscataway (1981)

    Google Scholar 

  20. Hamlet, R.: Random testing. In: Encyclopedia of Software Engineering, pp. 970–978. Wiley, Chichester (1994)

    Google Scholar 

  21. Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: PLDI 2005: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 213–223. ACM, New York (2005)

    Chapter  Google Scholar 

  22. Oriat, C.: Jartege: A tool for random generation of unit tests for java classes. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds.) QoSA 2005 and SOQUA 2005. LNCS, vol. 3712, pp. 242–256. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  23. McKenzie, B.: Generating string at random from a context-free grammar. Technical Report TR-COSC 10/97, Univ ersity of Canterbury (1997)

    Google Scholar 

  24. Hickey, T.J., Cohen, J.: Uniform random generation of strings in a context-free language. SIAM J. Comput. 12, 645–655 (1983)

    Article  MATH  Google Scholar 

  25. Maurer, P.: The design and implementation of a grammar-based data generator. Softw. Pract. Exper. 22, 223–244 (1992)

    Article  Google Scholar 

  26. Heam, P.C., Nicaud, C.: Seed: an easy to use random generator of recursive data structures for testing. In: ICST 2011. IEEE, Los Alamitos (to appear, 2011)

    Google Scholar 

  27. Dadeau, F., Levrey, J., Héam, P.C.: On the use of uniform random generation of automata for testing. Electr. Notes Theor. Comput. Sci. 253, 37–51 (2009)

    Article  Google Scholar 

  28. Sipser, M.: 2. In: Introduction to the Theory of Computation. PWS (1996)

    Google Scholar 

  29. Flajolet, P., Sedgewick, R.: Analytic Combinatorics. Cambridge University Press, Cambridge (2008)

    MATH  Google Scholar 

  30. Ponty, Y., Termier, M., Denise, A.: Genrgens: Software for generating random genomic sequences and structures. Bioinformatics 22, 1534–1535 (2006)

    Article  Google Scholar 

  31. Denise, A., Zimmermann, P.: Uniform random generation of decomposable structures using floating-point arithmetic. Theor. Comput. Sci. 218, 233–248 (1999)

    Article  MATH  Google Scholar 

  32. Goldwurm, M.: Random generation of words in an algebraic language in linear binary space. Inf. Process. Lett. 54, 229–233 (1995)

    Article  MATH  Google Scholar 

  33. Belli, F., Beyazit, M., Takagi, T., Furukawa, Z.: Testing of ”go-back” functions based on pushdown automata. In: ICST 2011. IEEE, Los Alamitos (to appear, 2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Héam, PC., Masson, C. (2011). A Random Testing Approach Using Pushdown Automata. In: Gogolla, M., Wolff, B. (eds) Tests and Proofs. TAP 2011. Lecture Notes in Computer Science, vol 6706. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21768-5_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21768-5_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21767-8

  • Online ISBN: 978-3-642-21768-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics