2013
DOI: 10.1007/978-3-319-02654-1_16
|View full text |Cite
|
Sign up to set email alerts
|

A Generic Framework for Symbolic Execution

Abstract: Abstract:We propose a language-independent symbolic execution framework for languages endowed with a formal operational semantics based on term rewriting. Starting from a given definition of a language, a new language definition is automatically generated, which has the same syntax as the original one but whose semantics extends data domains with symbolic values and adapts semantical rules to deal with these values. Then, the symbolic execution of concrete programs is the execution of programs with the new sym… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
56
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
5
3

Relationship

3
5

Authors

Journals

citations
Cited by 21 publications
(56 citation statements)
references
References 30 publications
(28 reference statements)
0
56
0
Order By: Relevance
“…In related work [15] we prove that the above assumption can always be satisfied, by implementing unification with the rules of L by the matching with the rules of a language L sym , which extends the syntax of and semantics of L, such that the programs in L sym are exactly the symbolic programs of L (and the symbolic execution of programs in L is the usual execution of programs in L sym ). We illustrate how this is done via an example; other examples follow in the paper.…”
Section: Inriamentioning
confidence: 96%
See 1 more Smart Citation
“…In related work [15] we prove that the above assumption can always be satisfied, by implementing unification with the rules of L by the matching with the rules of a language L sym , which extends the syntax of and semantics of L, such that the programs in L sym are exactly the symbolic programs of L (and the symbolic execution of programs in L is the usual execution of programs in L sym ). We illustrate how this is done via an example; other examples follow in the paper.…”
Section: Inriamentioning
confidence: 96%
“…One component of the framework is a compiler of K definitions to Maude [17] specifications, which can then be used for executing programs and for analysing them. K also offers some support for symbolic calculus [18] (in progress), including a connection to the Z3 SMT solver [19]. We have used these components in a prototype tool implementing our deductive system for program equivalence.…”
Section: A Prototype Implementationmentioning
confidence: 99%
“…The process of computing the one-step rewrites of a given constrained term (t ; ϕ) under R • is decomposed into two conceptual steps using Maude's metalevel. First, all possible triples (u ; θ ; φ) such that t → u(R • ) u is witnessed by a matching substitution θ and a rule with constraint φ are computed 4 . Second, these triples are filtered out by keeping only those for which the quantifier-free formula ϕ ∧ φθ is E + 0 -satisfiable.…”
Section: Reflective Implementation Of R •mentioning
confidence: 99%
“…Last but not least, recently, A. Arusoaie et al [4] have proposed a language-independent symbolic execution framework, within the K framework [44], for languages endowed with a formal operational semantics based on term rewriting. There, the builtin subtheories are the datatypes of a programming language and symbolic analysis is performed on constrained terms (called patterns); unification is also implemented by matching for a restricted class of rewrite rules and uses SMT solvers to check constraints.…”
Section: Related Work and Concluding Remarksmentioning
confidence: 99%
“…The most significant difference with our approach is that narrowing-based techniques only allow unconditional rewrite rules, which we do allow (and intensively use) in this paper; on the other hand, they deal with linear-temporal logic, which is more expressive than reachability logic. Last but not least, rewriting modulo smt [34,35] is a theory and implementation of symbolic execution in Maude, essentially isomorphic to the one we developed for K [36] -an example of simultaneous discovery and materialisation of concepts that are "in the air" at a certain moment in time.…”
Section: Introductionmentioning
confidence: 99%