Skip to main content
    • Aa
    • Aa

A CLP heap solver for test case generation


One of the main challenges to software testing today is to efficiently handle heap-manipulating programs. These programs often build complex, dynamically allocated data structures during execution and, to ensure reliability, the testing process needs to consider all possible shapes these data structures can take. This creates scalability issues since high (often exponential) numbers of shapes may be built due to the aliasing of references. This paper presents a novel CLP heap solver for the test case generation of heap-manipulating programs that is more scalable than previous proposals, thanks to the treatment of reference aliasing by means of disjunction, and to the use of advanced back-propagation of heap related constraints. In addition, the heap solver supports the use of heap assumptions to avoid aliasing of data that, though legal, should not be provided as input.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

P. Ammann and J. Offutt 2008. Introduction to Software Testing. Cambridge University Press, Cambridge, UK.

F. Charreteur , B. Botella and A. Gotlieb 2009. Modelling dynamic memory management in constraint-based testing. Journal of Systems and Software 82, 11, 17551766.

M. Gómez-Zamalloa , E. Albert and G. Puebla 2009. Decompilation of Java bytecode to prolog by partial evaluation. Information and Software Technology 51, 10, 14091427.

J. C. King 1976. Symbolic execution and program testing. Communications of the ACM 19, 7, 385394.

C. Meudec 2001. ATGen: Automatic test data generation using constraint logic programming and symbolic execution. Software Testing, Verification & Reliability 11, 2, 8196.

A. J. Offutt and S. Liu 1999. Generating test data from SOFL specifications. Journal of Systems and Software 49, 1, 4962.

C. S. Pǎsǎreanu and N. Rungta 2010. Symbolic PathFinder: Symbolic execution of Java bytecode. In ASE'10, ACM, 179180.

C. S. Pǎsǎreanu and W. Visser 2009. A survey of new trends in symbolic execution for software testing and analysis. International Journal on Software Tools for Technology Transfer 11, 4, 339353.

W. Visser , C. S. Pǎsǎreanu and S. Khurshid 2004. Test input generation with Java PathFinder. In ISSTA'04, ACM, 97107.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 3 *
Loading metrics...

Abstract views

Total abstract views: 121 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 28th May 2017. This data will be updated every 24 hours.