Proceedings of the 33rd International Conference on Software Engineering 2011
DOI: 10.1145/1985793.1985995
|View full text |Cite
|
Sign up to set email alerts
|

Symbolic execution for software testing in practice

Abstract: We present results for the "Impact Project Focus Area" on the topic of symbolic execution as used in software testing. Symbolic execution is a program analysis technique introduced in the 70s that has received renewed interest in recent years, due to algorithmic advances and increased availability of computational power and constraint solving technology. We review classical symbolic execution and some modern extensions such as generalized symbolic execution and dynamic test generation. We also give a prelimina… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
165
0
1

Year Published

2012
2012
2018
2018

Publication Types

Select...
6
2
1

Relationship

1
8

Authors

Journals

citations
Cited by 261 publications
(166 citation statements)
references
References 69 publications
0
165
0
1
Order By: Relevance
“…Symbolic execution is a technique that has received much attention in recent years in the context of software testing [10] due to its ability to automatically explore multiple program paths and reason about the program's behaviour along each of them. Tools such as KLEE [9], SAGE [17], JPF-SE [1], BitBlaze [33] and Pex [37] are just some of the symbolic execution engines currently used successfully in academia and in industry.…”
Section: Background and Related Workmentioning
confidence: 99%
“…Symbolic execution is a technique that has received much attention in recent years in the context of software testing [10] due to its ability to automatically explore multiple program paths and reason about the program's behaviour along each of them. Tools such as KLEE [9], SAGE [17], JPF-SE [1], BitBlaze [33] and Pex [37] are just some of the symbolic execution engines currently used successfully in academia and in industry.…”
Section: Background and Related Workmentioning
confidence: 99%
“…In particular, we explore innovative techniques to improve automated test input generation approaches [29], [121] to strengthen structural coverage testing, which has long been advocated by the software industry to assess test adequacy [20], [56], [117], [132] but is still limited, even with the recent development of advanced techniques [105], [128], [138], [142]. We then enhance security vulnerability detection techniques [64], [93] by integrating static and dynamic program analysis techniques to actively search for security vulnerability defects.…”
Section: Motivationmentioning
confidence: 99%
“…While different approaches exist towards the automatic generation of test data, symbolic execution [5] has been recognised as a state-of-art technique for so-called white-box structural test data generation [6,7,8,9,10]. In such an approach, the idea is to generate test data that in some way cover a sufficiently large part of the control-flow graph of the code unit under test [4].…”
Section: Introductionmentioning
confidence: 99%
“…This test generation process is repeated until test data have been generated for a sufficiently large and diverse number of paths through the control-flow graph, according to some coverage criterion [4]. Test data generation based on symbolic execution is now at the core of various popular open-source and commercial testing tools, some being used in an industrial context, notably at Microsoft and NASA [9].…”
Section: Introductionmentioning
confidence: 99%