Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis 2017
DOI: 10.1145/3092703.3092715
|View full text |Cite
|
Sign up to set email alerts
|

Combining symbolic execution and search-based testing for programs with complex heap inputs

Abstract: Despite the recent improvements in automatic test case generation, handling complex data structures as test inputs is still an open problem. Search-based approaches can generate sequences of method calls that instantiate structured inputs to exercise a relevant portion of the code, but fall short in building inputs to execute program elements whose reachability is determined by the structural features of the input structures themselves. Symbolic execution techniques can effectively handle structured inputs, bu… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
43
0
1

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 55 publications
(48 citation statements)
references
References 53 publications
0
43
0
1
Order By: Relevance
“…Generating complex input objects is a challenge faced by many automated test generation approaches, including search-based software testing and symbolic execution (Braione et al 2017). Usually, the input space of each input is large and generating proper data enabling the search process to cover its goals is difficult.…”
Section: Input Data Generationmentioning
confidence: 99%
“…Generating complex input objects is a challenge faced by many automated test generation approaches, including search-based software testing and symbolic execution (Braione et al 2017). Usually, the input space of each input is large and generating proper data enabling the search process to cover its goals is difficult.…”
Section: Input Data Generationmentioning
confidence: 99%
“…In case the path condition implies v is constrained by a points-to predicate, it substitutes v.f i with the corresponding symbolic name for the field in the predicate (lines 8-9). Otherwise, if v is constrained by an inductive predicate, it unfolds the predicate to find points-to predicate for v (lines [10][11][12][13][14]. In the last case (lines [15][16], it considers the current path condition does not have enough information to resolve v.f i and simply returns empty.…”
Section: Concolic Executionmentioning
confidence: 99%
“…That is, the users provide a program and a precondition, then apply CSF to automatically generate a set of test inputs. The experimental subject is a comprehensive set of benchmark programs collected from previous publications, which includes Singly-Linked List (SLL), Doubly-Linked List (DLL), Stack, Binary Search Tree (BST), Red Black Tree (RBT) from SIR [7], AVL Tree, AA Tree (AAT) from Sireum/Kiasan [8], Tll from [27], the motivation example from SUSHI [10], the TSAFE project [17], and the Gantt project [3]. In total, we have 74 methods whose line of codes range from dozens to more than one thousand.…”
Section: First Experimentsmentioning
confidence: 99%
“…So far, a substantial research effort in the area has targeted structural coverage [15,[28][29][30][31][32][33][34][35]. In particular, we briefly survey the techniques that investigated combinations of SBST and symbolic execution [16,36,37]. Other researchers exploit symbolic execution to optimize the evolutionary algorithms used in SBST [38][39][40][41].…”
Section: Related Workmentioning
confidence: 99%