A survey of symbolic execution techniques
Many security and software testing applications require checking whether certain properties
of a program hold for any possible usage scenario. For instance, a tool for identifying …
of a program hold for any possible usage scenario. For instance, a tool for identifying …
Symbolic execution for software testing: three decades later
Symbolic execution for software testing Page 1 82 communicaTionS of The acm | february
2013 | vol. 56 | no. 2 review articles ill us tra tion b y marius w a tz sYMBoliC eXeCUtioN has …
2013 | vol. 56 | no. 2 review articles ill us tra tion b y marius w a tz sYMBoliC eXeCUtioN has …
{Under-Constrained} symbolic execution: Correctness checking for real code
Software bugs are a well-known source of security vulnerabilities. One technique for finding
bugs, symbolic execution, considers all possible inputs to a program but suffers from …
bugs, symbolic execution, considers all possible inputs to a program but suffers from …
Enhancing symbolic execution with veritesting
We present MergePoint, a new binary-only symbolic execution system for large-scale and
fully unassisted testing of commodity off-the-shelf (COTS) software. MergePoint introduces …
fully unassisted testing of commodity off-the-shelf (COTS) software. MergePoint introduces …
Symbolic PathFinder: integrating symbolic execution with model checking for Java bytecode analysis
Symbolic PathFinder (SPF) is a software analysis tool that combines symbolic execution with
model checking for automated test case generation and error detection in Java bytecode …
model checking for automated test case generation and error detection in Java bytecode …
Stochastic optimization of floating-point programs with tunable precision
The aggressive optimization of floating-point computations is an important problem in high-
performance computing. Unfortunately, floating-point instruction sets have complicated …
performance computing. Unfortunately, floating-point instruction sets have complicated …
GKLEE: concolic verification and test generation for GPUs
Programs written for GPUs often contain correctness errors such as races, deadlocks, or
may compute the wrong result. Existing debugging tools often miss these errors because of …
may compute the wrong result. Existing debugging tools often miss these errors because of …
Automatic detection of floating-point exceptions
It is well-known that floating-point exceptions can be disastrous and writing exception-free
numerical programs is very difficult. Thus, it is important to automatically detect such errors …
numerical programs is very difficult. Thus, it is important to automatically detect such errors …
Chopped symbolic execution
Symbolic execution is a powerful program analysis technique that systematically explores
multiple program paths. However, despite important technical advances, symbolic execution …
multiple program paths. However, despite important technical advances, symbolic execution …
Path-exploration lifting: Hi-fi tests for lo-fi emulators
Processor emulators are widely used to provide isolation and instrumentation of binary
software. However they have proved difficult to implement correctly: processor specifications …
software. However they have proved difficult to implement correctly: processor specifications …