2015 · 60 citations · 22 references
ComputingComputer ScienceKnowledge RepresentationSemanticsSyntaxConstraint RepresentationConstraint SatisfactionConstraint SolvingSymbolic ExecutionAutomated Reasoning With ConstraintsLogical RelationsNormal FormsReuseSemantic EquivalenceSemantic Equivalence AssessmentSemantics Of ConstraintsSymbolic Execution Engines
Constraint solution reuse is an effective approach to save the time of constraint solving in symbolic execution. Most of the existing reuse approaches are based on syntactic or semantic equivalence of constraints. For example, the Green framework can reuse constraints which have different representations but are semantically equivalent, through canonizing constraints into syntactically equivalent normal forms. KLEE reuses constraints based on subset/superset querying. However, both equivalence-based approach and subset/superset-based approach cannot cover some kinds of reuse where atomic constraints are not equivalent. Our approach, called GreenTrie, is an extension to the Green framework, which supports constraint reuse based on the logical implication relations among constraints. GreenTrie provides a component, called L-Trie, which stores constraints and solutions into tries, indexed by an implication partial order graph of constraints. L-Trie is able to carry out logical reduction and logical subset and superset querying for given constraints, to check for reuse of previously solved constraints. We report the results of an experimental assessment of GreenTrie against the original Green framework and the KLEE approach, which shows that our extension achieves better reuse of constraint solving result and saves significant symbolic execution time.
22
Symbolic execution and program testing
James C. King · Communications of the ACM · 1976 · 3K citations · Full text
Koushik Sen, Darko Marinov, Gul Agha · 2005 · 1.7K citations
Cristian Cadar, Vijay Ganesh, Peter M. Pawlowski et al. · 2006 · 789 citations