Title :
Memoise: A tool for memoized symbolic execution
Author :
Guowei Yang ; Khurshid, Sarfraz ; Pasareanu, C.S.
Author_Institution :
Electr. & Comput. Eng., Univ. of Texas at Austin, Austin, TX, USA
Abstract :
This tool paper presents a tool for performing memoized symbolic execution (Memoise), an approach we developed in previous work for more efficient application of symbolic execution. The key idea in Memoise is to allow re-use of symbolic execution results across different runs of symbolic execution without having to re-compute previously computed results as done in earlier approaches. Specifically, Memoise builds a trie-based data structure to record path exploration information during a run of symbolic execution, optimizes the trie for the next run, and re-uses the resulting trie during the next run. Our tool optimizes symbolic execution in three standard scenarios where it is commonly applied: iterative deepening, regression analysis, and heuristic search. Our tool Memoise builds on the Symbolic PathFinder framework to provide more efficient symbolic execution of Java programs and is available online for download. The tool demonstration video is available at http://www.youtube.com/watch?v=ppfYOB0Z2vY.
Keywords :
Java; data structures; iterative methods; program verification; regression analysis; Java programs; Memoise; heuristic search; iterative deepening; memoized symbolic execution; path exploration information; regression analysis; symbolic PathFinder framework; tool demonstration video; trie-based data structure; Data structures; Iterative methods; Java; NASA; Regression analysis; Standards; Testing;
Conference_Titel :
Software Engineering (ICSE), 2013 35th International Conference on
Conference_Location :
San Francisco, CA
Print_ISBN :
978-1-4673-3073-2
DOI :
10.1109/ICSE.2013.6606713