DocumentCode
159147
Title
Tutorial I: Efficient symbolic execution for software testing
Author
Kinder, Johannes
Author_Institution
R. Holloway, Univ. of London, London, UK
fYear
2014
fDate
19-21 Oct. 2014
Firstpage
231
Lastpage
231
Abstract
Summary form only given. Symbolic execution has proven to be a practical technique for building automated test case generation and bug finding tools. While the basic technique had been introduced already in the 70s, the advent of modern SAT and SMT solvers has lead to a surge of tools and techniques in the area over the last decade. This tutorial will introduce and compare the different approaches to using symbolic execution for testing and discuss the specific challenges and trade-offs. A main challenge in symbolic execution is path explosion, and various proposals have been made to either combat it. I will discuss how these techniques affect the number and type of solver queries that have to be made, and how this can lead to surprising effects on the efficiency of a symbolic execution engine. Going further, we will look at developments to increase the scope of symbolic execution to larger software systems. Specific topics covered include state merging, procedure summaries, abstraction, search strategies, and parallelization.
Keywords
automatic testing; computability; program debugging; program testing; symbol manipulation; SAT solvers; SMT solvers; abstraction; automated test case generation; bug finding tools; parallelization; path explosion; procedure summaries; search strategies; software testing; solver queries; state merging; symbolic execution engine; Abstracts; Buildings; Educational institutions; NASA; Software testing; Surges; Tutorials;
fLanguage
English
Publisher
ieee
Conference_Titel
Formal Methods and Models for Codesign (MEMOCODE), 2014 Twelfth ACM/IEEE International Conference on
Conference_Location
Lausanne
Type
conf
DOI
10.1109/MEMCOD.2014.6961867
Filename
6961867
Link To Document