A CLP heap solver for test case generation

被引:3
作者
Albert, Elvira [1 ]
Garcia De La Banda, Maria [2 ,3 ]
Gomez-Zamalloa, Miguel [1 ]
Miguel Rojas, Jose [4 ]
Stuckey, Peter [5 ,6 ]
机构
[1] Complutense Univ Madrid UCM, DSIC, E-28040 Madrid, Spain
[2] Monash Univ, Clayton, Vic 3800, Australia
[3] IMDEA Software, Madrid, Spain
[4] Tech Univ Madrid UPM, DLSIIS, E-28660 Madrid, Spain
[5] Univ Melbourne, Melbourne, Vic 3010, Australia
[6] IMDEA Software, Madrid, Spain
关键词
SYMBOLIC EXECUTION; FRAMEWORK;
D O I
10.1017/S1471068413000458
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:721 / 735
页数:15
相关论文
共 19 条
[1]  
Ammann P., 2016, INTRO SOFTWARE TESTI
[2]   Modelling dynamic memory management in constraint-based testing [J].
Charreteur, Florence ;
Botella, Bernard ;
Gotlieb, Arnaud .
JOURNAL OF SYSTEMS AND SOFTWARE, 2009, 82 (11) :1755-1766
[3]   Towards a Framework for Constraint-Based Test Case Generation [J].
Degrave, Francois ;
Schrijvers, Tom ;
Vanhoof, Wim .
LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2010, 6037 :128-+
[4]   Test case generation for object-oriented imperative languages in CLP [J].
Gomez-Zamalloa, Miguel ;
Albert, Elvira ;
Puebla, German .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2010, 10 :659-674
[5]   Decompilation of Java']Java bytecode to Prolog by partial evaluation [J].
Gomez-Zamalloa, Miguel ;
Albert, Elvira ;
Puebla, German .
INFORMATION AND SOFTWARE TECHNOLOGY, 2009, 51 (10) :1409-1427
[6]  
Goodrich M.T., 2003, NET DATASTRUCTURES P
[7]  
Gotlieb A, 2000, LECT NOTES ARTIF INT, V1861, P399
[8]  
Khurshid S, 2003, LECT NOTES COMPUT SC, V2619, P553
[9]   SYMBOLIC EXECUTION AND PROGRAM TESTING [J].
KING, JC .
COMMUNICATIONS OF THE ACM, 1976, 19 (07) :385-394
[10]   ATGen: automatic test data generation using constraint logic programming and symbolic execution [J].
Meudec, C .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (02) :81-96