2011
DOI: 10.1007/978-3-642-23702-7_11
|View full text |Cite
|
Sign up to set email alerts
|

Directed Symbolic Execution

Abstract: Abstract. In this paper, we study the problem of automatically finding program executions that reach a particular target line. This problem arises in many debugging scenarios; for example, a developer may want to confirm that a bug reported by a static analysis tool on a particular line is a true positive. We propose two new directed symbolic execution strategies that aim to solve this problem: shortest-distance symbolic execution (SDSE) uses a distance metric in an interprocedural control flow graph to guide … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
132
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 144 publications
(137 citation statements)
references
References 30 publications
0
132
0
Order By: Relevance
“…For example, the research community has invested a lot of effort in designing techniques for improving the testing of software patches, ranging from test suite prioritisation and selection algorithms [11,30,35] to program analysis techniques for test case generation and bug finding [1,2,20,21,27,28,36,40] to methods for surviving errors introduced by patches at runtime [14]. Many of these techniques depend on the existence of a manual test suite, sometimes requiring the availability of a test exercising the patch [24,37], sometimes making assumptions about the stability of program coverage or external behaviour over time [14,29], other times using it as a starting point for exploration [10,16,22,39], and often times employing it as a baseline for comparison [3,6,9,26].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, the research community has invested a lot of effort in designing techniques for improving the testing of software patches, ranging from test suite prioritisation and selection algorithms [11,30,35] to program analysis techniques for test case generation and bug finding [1,2,20,21,27,28,36,40] to methods for surviving errors introduced by patches at runtime [14]. Many of these techniques depend on the existence of a manual test suite, sometimes requiring the availability of a test exercising the patch [24,37], sometimes making assumptions about the stability of program coverage or external behaviour over time [14,29], other times using it as a starting point for exploration [10,16,22,39], and often times employing it as a baseline for comparison [3,6,9,26].…”
Section: Introductionmentioning
confidence: 99%
“…20 Therefore, the results aim to count a line as covered if the test suite may execute it. The blue (upper) lines in Figure 6 plot the overall line coverage for all benchmarks.…”
Section: Overall Code Coveragementioning
confidence: 99%
“…Thummalapenta et al [129] and Ma et al [94] both confirmed that approaches such as PEX, KLEE, and SAGE without the ability to precisely focus on a particular code element may not be sufficient to improve coverage and to enhance error detection capabilities. Baluda et al [12] proposed ARC-B by combining dynamic symbolic execution and abstraction refinement for structural coverage improvements and infeasible code identification.…”
Section: Literature Reviewmentioning
confidence: 95%
“…A similar intuition has been applied to the control flow of a program (as opposed to information flow as we consider); examples include the static analysis tool ARCHER [29] and the call-chain-backward symbolic execution approach of Ma et al [19].…”
Section: Related Workmentioning
confidence: 99%