2013
DOI: 10.1145/2522920.2522925
|View full text |Cite
|
Sign up to set email alerts
|

Path exploration based on symbolic output

Abstract: Efficient program path exploration is important for many software engineering activities such as testing, debugging and verification. However, enumerating all paths of a program is prohibitively expensive. In this paper, we develop a partitioning of program paths based on the program output. Two program paths are placed in the same partition if they derive the output similarly, that is, the symbolic expression connecting the output with the inputs is the same in both paths. Our grouping of paths is gradually c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
11
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
3
1

Relationship

2
7

Authors

Journals

citations
Cited by 24 publications
(11 citation statements)
references
References 26 publications
0
11
0
Order By: Relevance
“…Interference of two inputs happens when they jointly affect one statement, or statements linked by control or data dependences. [84] focuses on outputs, placing two paths in the same partition if they have the same relevant slice with respect to the program output. A relevant slice is the transitive closure of dynamic data and control A Survey of Symbolic Execution Techniques 0:21 dependencies, and also of potential dependencies involving statements that affect the output by not getting executed.…”
Section: Path Subsumption and Equivalencementioning
confidence: 99%
“…Interference of two inputs happens when they jointly affect one statement, or statements linked by control or data dependences. [84] focuses on outputs, placing two paths in the same partition if they have the same relevant slice with respect to the program output. A relevant slice is the transitive closure of dynamic data and control A Survey of Symbolic Execution Techniques 0:21 dependencies, and also of potential dependencies involving statements that affect the output by not getting executed.…”
Section: Path Subsumption and Equivalencementioning
confidence: 99%
“…We conceptually and experimentally compare to this approach. Related works [84], [92] suggest grouping together paths based on similar symbolic expressions in variables, and use such symbolic expressions as dynamic summaries to group paths.…”
Section: A Symbolic Executionmentioning
confidence: 99%
“…Program dependence information and user provided abstraction strategies are used in [64] to compute equivalence classes of paths that can reach a specific program location. [65] uses dynamically computed relevant slice conditions to explore paths that are relevant to a slicing criteria. Control flow analysis and weakest-precondition computation are combined in [66] to generate tests that exercise code changes due to patches.…”
Section: Guided Symbolic Executionmentioning
confidence: 99%