2015 IEEE/ACM 37th IEEE International Conference on Software Engineering 2015
DOI: 10.1109/icse.2015.79
|View full text |Cite
|
Sign up to set email alerts
|

Compositional Symbolic Execution with Memoized Replay

Abstract: 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 the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
10
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
5
2

Relationship

1
6

Authors

Journals

citations
Cited by 26 publications
(11 citation statements)
references
References 26 publications
(42 reference statements)
0
10
0
Order By: Relevance
“…The technique most closely related to ours is Green [62]; this technique has been the subject of several more recent papers [6,7,29,47,49,50,65], that improve on its algorithm. As noted in Section 1, Green and its offshoots also rely on back-end con-straint solving engines.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…The technique most closely related to ours is Green [62]; this technique has been the subject of several more recent papers [6,7,29,47,49,50,65], that improve on its algorithm. As noted in Section 1, Green and its offshoots also rely on back-end con-straint solving engines.…”
Section: Related Workmentioning
confidence: 99%
“…PLATINUM further improves analysis efficiency by omitting redundant constraints from a specification before translating them into propositional formulas to be solved by expensive constraint solvers, thereby greatly reducing the required computational effort. Although techniques for storing the results of satisfiability checking and reusing them later have been considered in the context of symbolic execution [6,7,29,49,62], these techniques cannot be directly applied to Alloy due to the specifics of its core logic, which consolidates the quantifiers of first-order logic with the operators of the relational calculus [28]. (Section 5 provides details.…”
Section: Introductionmentioning
confidence: 99%
“…As discussed in the introduction, our work extends the excellent idea of memoized symbolic execution [26] to make it possible to detect divergences, store long-running paths without having to bring the entire execution tree back into memory and overcoming the restriction of using the same search heuristic in the record and replay runs. All these contributions make it possible for MoKlee to scale from the type of short runs on which memoized symbolic execution was previously evaluated (on the order of minutes, with small memoized trees) [22,26] to very long runs (of hours and even days, with trees of millions of nodes).…”
Section: Related Workmentioning
confidence: 99%
“…A number of more recent techniques, e.g, SMART [35], SMASH [36], CompoSE [37], and others [38,39] further developed the idea and showed its usefulness in scaling symbolic execution.…”
Section: Related Workmentioning
confidence: 99%