2008
DOI: 10.1007/978-3-540-89330-1_4
|View full text |Cite
|
Sign up to set email alerts
|

Context-Sensitive Relevancy Analysis for Efficient Symbolic Execution

Abstract: Abstract. Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dynamic behaviors of a program. In this paper, we present a context-sensitive relevancy analysis algorithm based on weighted pushdown model checking, which pinpoints memory locations in the program where symbolic values can flow into. This information is then utilized by a code instrumenter to transform only relevant parts of the program with symbolic constructs, to help improve the efficiency of symbolic… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2009
2009
2014
2014

Publication Types

Select...
4

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(2 citation statements)
references
References 24 publications
0
2
0
Order By: Relevance
“…A prior static analysis of the program can be used to compute useful information to speed up subsequent dynamic symbolic execution. The computed information can be used to transform the program based on the relevancy of certain functions for symbolic execution [21] or dependence of modules within the program [5]. However, in these techniques the symbolic execution engine also needs to be modified in order to take advantage of the information computed by the prior static analysis.…”
Section: Related Workmentioning
confidence: 99%
“…A prior static analysis of the program can be used to compute useful information to speed up subsequent dynamic symbolic execution. The computed information can be used to transform the program based on the relevancy of certain functions for symbolic execution [21] or dependence of modules within the program [5]. However, in these techniques the symbolic execution engine also needs to be modified in order to take advantage of the information computed by the prior static analysis.…”
Section: Related Workmentioning
confidence: 99%
“…In this technique, the declared type of each program variable is replaced with another type in the instrumented program so that variables in the instrumented software can store symbolic values. This technique [153] is used in existing symbolic execution systems such as Java Path Finder [167] and its adaptation Symbolic Pathfinder [168]; Juzi [169], the system used in context-sensitive analysis in which execution context is analyzed to check memory allocation and reduce computation [170]; and JFuzz [162].…”
Section: Dynamic Symbolic Executionmentioning
confidence: 99%