Author:
ALBERT ELVIRA,DE LA BANDA MARÍA GARCÍA,GÓMEZ-ZAMALLOA MIGUEL,ROJAS JOSÉ MIGUEL,STUCKEY PETER
Abstract
AbstractOne 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.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Reference19 articles.
1. Wielemaker J. 2010. The SWI-Prolog User's Manual 5.9.9. URL: http://www.swiprolog.org.
2. Test input generation with java PathFinder
3. Symbolic PathFinder
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Testing of concurrent and imperative software using CLP;Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming;2016-09-05
2. Recent Advances in Model-Based Testing;Advances in Computers;2016
3. Constraint Handling Rules - What Else?;Rule Technologies: Foundations, Tools, and Applications;2015
4. Test Case Generation by Symbolic Execution: Basic Concepts, a CLP-Based Instance, and Actor-Based Concurrency;Lecture Notes in Computer Science;2014