Proceedings ArticleDOI
Symbolic execution for software testing in practice: preliminary assessment
Cristian Cadar,Patrice Godefroid,Sarfraz Khurshid,Corina S. Păsăreanu,Koushik Sen,Nikolai Tillmann,Willem Visser +6 more
- pp 1066-1071
Reads0
Chats0
TLDR
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.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 preliminary assessment of the use in academia, research labs, and industry.read more
Citations
More filters
Journal ArticleDOI
Symbolic execution for software testing: three decades later
Cristian Cadar,Koushik Sen +1 more
TL;DR: The challenges---and great promise---of modern symbolic execution techniques, and the tools to help implement them.
Journal ArticleDOI
An orchestrated survey of methodologies for automated software test case generation
Saswat Anand,Edmund K. Burke,Tsong Yueh Chen,John A. Clark,Myra B. Cohen,Wolfgang Grieskamp,Mark Harman,Mary Jean Harrold,Phil McMinn +8 more
TL;DR: An orchestrated survey of the most prominent techniques for automatic generation of software test cases, reviewed in self-standing sections, aimed at giving an introductory, up-to-date and (relatively) short overview of research in automatic test case generation.
BookDOI
Deductive Software Verification - The KeY Book
Wolfgang Ahrendt,Bernhard Beckert,Richard Bubel,Reiner Hähnle,Peter H. Schmitt,Mattias Ulbrich +5 more
TL;DR: This book is the definitive guide to KeY that lets you explore the full potential of deductive software verification in practice and contains the complete theory behind KeY for active researchers who want to understand it in depth or use it in their own work.
Proceedings ArticleDOI
Software testing: a research travelogue (2000–2014)
Alessandro Orso,Gregg Rothermel +1 more
TL;DR: The goal of this paper is to provide an accounting of some of the most successful research performed in software testing since the year 2000, and to present what appear to be the most significant challenges and opportunities in this area.
Journal ArticleDOI
Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis
TL;DR: Symbolic PathFinder is a software analysis tool that combines symbolic execution with model checking for automated test case generation and error detection in Java bytecode programs.
References
More filters
Book ChapterDOI
Z3: an efficient SMT solver
TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
Proceedings ArticleDOI
LLVM: a compilation framework for lifelong program analysis & transformation
Chris Lattner,Vikram Adve +1 more
TL;DR: The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems.
Journal ArticleDOI
Symbolic execution and program testing
TL;DR: A particular system called EFFIGY which provides symbolic execution for program testing and debugging is described, which interpretively executes programs written in a simple PL/I style programming language.
Proceedings ArticleDOI
KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs
TL;DR: A new symbolic execution tool, KLEE, capable of automatically generating tests that achieve high coverage on a diverse set of complex and environmentally-intensive programs, and significantly beat the coverage of the developers' own hand-written test suite is presented.
Journal ArticleDOI
DART: directed automated random testing
TL;DR: DART is a new tool for automatically testing software that combines three main techniques, automated extraction of the interface of a program with its external environment using static source-code parsing, and dynamic analysis of how the program behaves under random testing and automatic generation of new test inputs to direct systematically the execution along alternative program paths.