kirancodes.me
To Proof Maintenance & Beyond!

Enhancing symbolic execution with veritesting

Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, David Brumley

Abstract

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 veritesting, a new technique that employs static symbolic execution to amplify the effect of dynamic symbolic execution. Veritesting allows MergePoint to find twice as many bugs, explore orders of magnitude more paths, and achieve higher code coverage than previous dynamic symbolic execution systems. MergePoint is currently running daily on a 100 node cluster analyzing 33,248 Linux binaries; has generated more than 15 billion SMT queries, 200 million test cases, 2,347,420 crashes, and found 11,687 bugs in 4,379 distinct applications.

BibTeX
@inproceedings{Avgerinos-al:ICSE14,
  author    = {Thanassis Avgerinos and
               Alexandre Rebert and
               Sang Kil Cha and
               David Brumley},
  title     = {Enhancing symbolic execution with veritesting},
  booktitle = {ICSE},
  pages     = {1083--1094},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers