DocumentCode
1606707
Title
Compositional Symbolic Execution with Memoized Replay
Author
Rui Qiu ; Guowei Yang ; Pasareanu, Corina S. ; Khurshid, Sarfraz
Author_Institution
Univ. of Texas, Austin, TX, USA
Volume
1
fYear
2015
Firstpage
632
Lastpage
642
Abstract
Symbolic execution is a powerful, systematic analysis that has received much visibility in the last decade. Scalability however remains a major challenge for symbolic execution. Compositional analysis is a well-known general purpose methodology for increasing scalability. This paper introduces a new approach for compositional symbolic execution. Our key insight is that we can summarize each analyzed method as a memoization tree that captures the crucial elements of symbolic execution, and leverage these memoization trees to efficiently replay the symbolic execution of the corresponding methods with respect to their calling contexts. Memoization trees offer a natural way to compose in the presence of heap operations, which cannot be dealt with by previous work that uses logical formulas as summaries for compositional symbolic execution. Our approach also enables efficient target oriented symbolic execution for error detection or program coverage. Initial experimental evaluation based on a prototype implementation in Symbolic Path Finder shows that our approach can be up to an order of magnitude faster than traditional non-compositional symbolic execution.
Keywords
error detection; program diagnostics; trees (mathematics); compositional symbolic execution; error detection; heap operations; memoization trees; memoized replay; program coverage; symbolic path finder; target oriented symbolic execution; Concrete; Context; Data structures; Prototypes; Scalability; Systematics;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location
Florence
Type
conf
DOI
10.1109/ICSE.2015.79
Filename
7194612
Link To Document