2015 IEEE/ACM 37th IEEE International Conference on Software Engineering 2015
DOI: 10.1109/icse.2015.81
|View full text |Cite
|
Sign up to set email alerts
|

Combining Symbolic Execution and Model Checking for Data Flow Testing

Abstract: Abstract-Data flow testing (DFT) focuses on the flow of data through a program. Despite its higher fault-detection ability over other structural testing techniques, practical DFT remains a significant challenge. This paper tackles this challenge by introducing a hybrid DFT framework: (1) The core of our framework is based on dynamic symbolic execution (DSE), enhanced with a novel guided path search to improve testing performance; and (2) we systematically cast the DFT problem as reachability checking in softwa… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
21
0
4

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 30 publications
(27 citation statements)
references
References 54 publications
(83 reference statements)
0
21
0
4
Order By: Relevance
“…Perhaps the closest works to ours are the ones by Beckman et al [12], Baluda et al [4][5][6] and Bardin et al [8] Other techniques attempt to combine infeasible test objectives detection techniques as a means to speed-up test generation and refine the coverage metric. Su et al [61] combines symbolic execution with model checking to generate data flow test inputs. Baluda et al [6] combines backward (using weakest precondition) and forward symbolic analysis to support branch testing and Bardin et al [8,9] combines weakest precondition with dynamic symbolic execution to support the coverage of structural test objectives.…”
Section: Related Work 81 Infeasible Structural Objectivesmentioning
confidence: 99%
“…Perhaps the closest works to ours are the ones by Beckman et al [12], Baluda et al [4][5][6] and Bardin et al [8] Other techniques attempt to combine infeasible test objectives detection techniques as a means to speed-up test generation and refine the coverage metric. Su et al [61] combines symbolic execution with model checking to generate data flow test inputs. Baluda et al [6] combines backward (using weakest precondition) and forward symbolic analysis to support branch testing and Bardin et al [8,9] combines weakest precondition with dynamic symbolic execution to support the coverage of structural test objectives.…”
Section: Related Work 81 Infeasible Structural Objectivesmentioning
confidence: 99%
“…Compared with them, MPI-SV extracts path-level models for verification. Furthermore, there exists work of combining symbolic execution and model checking [20,65,79]. YOGI [65] and Abstraction-driven concolic testing [20] combine dynamic symbolic execution [27,72] with counterexample-guided abstraction refinement (CEGAR) [16].…”
Section: Related Workmentioning
confidence: 99%
“…Symbolic execution [1,2] is a powerful method for software verification and validation, with applications in the processes of automatic mutation generation, data flow testing, and patch generation, among others [3][4][5]. A symbolic execution engine performs a dynamic pathbased analysis of a program, allowing it to explore a large percentage of that program's bounded behavior space.…”
Section: Introductionmentioning
confidence: 99%