Lecture Notes in Computer Science
DOI: 10.1007/978-3-540-78800-3_28
|View full text |Cite
|
Sign up to set email alerts
|

Demand-Driven Compositional Symbolic Execution

Abstract: Abstract. We discuss how to perform symbolic execution of large programs in a manner that is both compositional (hence more scalable) and demand-driven. Compositional symbolic execution means finding feasible interprocedural program paths by composing symbolic executions of feasible intraprocedural paths. By demand-driven, we mean that as few intraprocedural paths as possible are symbolically executed in order to form an interprocedural path leading to a specific target branch or statement of interest (like an… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
180
0
1

Publication Types

Select...
4
3
1

Relationship

0
8

Authors

Journals

citations
Cited by 162 publications
(181 citation statements)
references
References 22 publications
0
180
0
1
Order By: Relevance
“…For pmap, FlowTest finished in less than 10 minutes. In contrast, Splat did not finish in one day ( We did not compare our algorithm with combinations of other optimizations such as function summaries [7,1] or RWSets [2], as these techniques are orthogonal and can be combined to give better performance. Limitations.…”
Section: Case Studiesmentioning
confidence: 99%
See 2 more Smart Citations
“…For pmap, FlowTest finished in less than 10 minutes. In contrast, Splat did not finish in one day ( We did not compare our algorithm with combinations of other optimizations such as function summaries [7,1] or RWSets [2], as these techniques are orthogonal and can be combined to give better performance. Limitations.…”
Section: Case Studiesmentioning
confidence: 99%
“…This is particularly cumbersome for programs which manipulate data structures such as arrays. While compositional techniques [7,1] alleviate path explosion, full path coverage remains prob- lematic even for medium-sized applications within a reasonable testing budget, say, one night.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Another avenue of future work consists of studying more precise refinement techniques based on compositional symbolic execution [1].…”
Section: Discussionmentioning
confidence: 99%
“…For completeness, we also introduce the RANDOM strategy that simply requires the execution of all changed statements. 1 To analyze change-testing strategies, including BR, DU, and the strategies presented in the next section, we use the PIE model [19] adapted for changes [15]: a change reveals a difference in the output if and only if the change executes, infects the state (i.e., creates an infection-a difference in the program state), and the infection propagates to the output. In the example of Figure 1, change ch1 is executed always (satisfying the execution condition), the state is infected if a does not equal 0, and the infection propagates to the output if, for example, line 9 is reached such that r equals p (i.e., when c is even), so that line 9 prints -a instead of a.…”
Section: A Coverage-based Strategiesmentioning
confidence: 99%