skip to main content
10.1145/1389095.1389435acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

Handling dynamic data structures in search based testing

Published:12 July 2008Publication History

ABSTRACT

There has been little attention to search based test data generation in the presence of pointer inputs and dynamic data structures, an area in which recent concolic methods have excelled. This paper introduces a search based testing approach which is able to handle pointers and dynamic data structures. It combines an alternating variable hill climb with a set of constraint solving rules for pointer inputs. The result is a lightweight and efficient method, as shown in the results from a case study, which compares the method to CUTE, a concolic unit testing tool.

References

  1. lp solve. web page: http://tech.groups.yahoo.com/group/lp solve/.Google ScholarGoogle Scholar
  2. Cristian Cadar and Dawson R. Engler. Execution generated test cases: How to make systems code crash itself. In Model Checking Software, 12th International SPIN Workshop, San Francisco, CA, USA, August 22-24, 2005, Proceedings, volume 3639 of Lecture Notes in Computer Science, pages 2--23. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Richard A. Demillo and A. Jefferson Offutt. Experimental results from an automatic test case generator. ACM Transactions on Software Engineering and Methodology, 2(2):109--127, April 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Patrice Godefroid. Compositional dynamic test generation. In Martin Hofmann and Matthias Felleisen, editors, POPL, pages 47--54. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Patrice Godefroid, Nils Klarlund, and Koushik Sen. DART: directed automated random testing. ACM SIGPLAN Notices, 40(6):213--223, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mark Harman. The current state and future of search based software engineering. In IEEE Computer Society Press, Future of Software Engineering 2007, Los Alamitos, California, USA, 2007, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mark Harman and Phil McMinn. A theoretical & empirical analysis of evolutionary testing and hill climbing for structural test data generation. In David S. Rosenblum and Sebastian G. Elbaum, editors, ISSTA, pages 73--83. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Kobi Inkumsah and Tao Xie. Evacon: A framework for integrating evolutionary and concolic testing for object-oriented programs. In Proc. 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), pages 425--428, November 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B.F. Jones, H.-H. Sthamer, and D.E. Eyres. Automatic structural testing using genetic algorithms. The Software Engineering Journal, 11:299--306, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  10. B.F. Jones, H.-H. Sthamer, and D.E. Eyres. Automatic structural testing using genetic algorithms. The Software Engineering Journal, 11:299--306, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  11. Sarfraz Khurshid, Corina S. Pasareanu, and Willem Visser. Generalized symbolic execution for model checking and testing. In Hubert Garavel and John Hatcliff, editors, TACAS, volume 2619 of Lecture Notes in Computer Science, pages 553--568. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. C. King. Symbolic execution and program testing. Communications of the ACM, 19(7):385--394, July 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Korel. Automated software test data generation. IEEE Transactions on Software Engineering, 16(8):870--879, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Rupak Majumdar and Koushik Sen. Hybrid concolic testing. In ICSE, pages 416--426. IEEE Computer Society, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Phil McMinn. Search-based software test data generation: A survey. Software Testing, Verification and Reliability, 14(2):105--156, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Christoph C. Michael, Gary McGraw, and Michael Schatz. Generating software test data by evolution. IEEE Trans. Software Eng, 27(12):1085--1110, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. George C. Necula, Scott McPeak, Shree P. Rahul, and Westley Weimer. CIL: Intermediate language and tools for analysis and transformation of C programs. Lecture Notes in Computer Science, 2304:213--??, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. P. Pargas, M. J. Harrold, and R. R. Peck. Test-data generation using genetic algorithms. The Journal of Software Testing, Verification and Reliability, 9:263--282, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  19. Koushik Sen and Gul Agha. CUTE and jCUTE: Concolic unit testing and explicit path model-checking tools. In CAV, volume 4144 of Lecture Notes in Computer Science, pages 419--423. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Paolo Tonella. Evolutionary testing of classes. In George S. Avrunin and Gregg Rothermel, editors, ISSTA, pages 119--128. ACM, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Joachim Wegener, Andr´e Baresel, and Harmen Sthamer. Evolutionary test environment for automatic structural testing. Information and Software Technology Special Issue on Software Engineering using Metaheuristic Innovative Algorithms, 43(14):841--854, 2001.Google ScholarGoogle Scholar
  22. S. Xanthakis, C. Ellis, C. Skourlas, A. Le Gall, S. Katsikas, and K. Karapoulios. Application of genetic algorithms to software testing (Application des algorithmes génétiques au test des logiciels). In 5th International Conference on Software Engineering and its Applications, pages 625--636, Toulouse, France, 1992.Google ScholarGoogle Scholar

Index Terms

  1. Handling dynamic data structures in search based testing

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      GECCO '08: Proceedings of the 10th annual conference on Genetic and evolutionary computation
      July 2008
      1814 pages
      ISBN:9781605581309
      DOI:10.1145/1389095
      • Conference Chair:
      • Conor Ryan,
      • Editor:
      • Maarten Keijzer

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 12 July 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,669of4,410submissions,38%

      Upcoming Conference

      GECCO '24
      Genetic and Evolutionary Computation Conference
      July 14 - 18, 2024
      Melbourne , VIC , Australia

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader