The bibliographic entry was discovered and compiled by a machine, and published without a person checking it against the publication. The publication itself is the authors' own work — this badge says nothing about it.

EXE: Automatically generating inputs of death

The work

AuthorsCristian Cadar; Vijay Ganesh; Peter M. Pawlowski; David L. Dill; Dawson Engler
Editors
Typearticle
Year2008
Citekeycadar2008exe

Where it appeared

Published inACM Transactions on Information and System Security
PublisherAssociation for Computing Machinery
Volume12
Issue2
Pages1--38

Identifiers

DOI10.1145/1455518.1455522
OpenAlexW2011367000

From OpenAlex, which stores abstracts as an index of words and their positions: what is shown is rebuilt from that, and reads fluently whether or not it is what the author wrote.

Abstract

This article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be anything. As checked code runs, EXE tracks the constraints on each symbolic (i.e., input-derived) memory location. If a statement uses a symbolic value, EXE does not run it, but instead adds it as an input-constraint; all other statements run as usual. If code conditionally checks a symbolic expression, EXE forks execution, constraining the expression to be true on the true branch and false on the other. Because EXE reasons about all possible values on a path, it has much more power than a traditional runtime tool: (1) it can force execution down any feasible program path and (2) at dangerous operations (e.g., a pointer dereference), it detects if the current path constraints allow any value that causes a bug. When a path terminates or hits a bug, EXE automatically generates a test case by solving the current path constraints to find concrete values using its own co-designed constraint solver, STP. Because EXE’s constraints have no approximations, feeding this concrete input to an uninstrumented version of the checked code will cause it to follow the same path and hit the same bug (assuming deterministic code). EXE works well on real code, finding bugs along with inputs that trigger them in: the BSD and Linux packet filter implementations, the dhcpd DHCP server, the pcre regular expression library, and three Linux file systems.

How it got here

How it got hereagent via openalex
Added2026-10-27 04:41 UTC
Not denied bya person 2026-10-29 17:12 UTC

Cite it as

@article{cadar2008exe,
  title        = {EXE: Automatically generating inputs of death},
  author       = {Cristian Cadar and Vijay Ganesh and Peter M. Pawlowski and David L. Dill and Dawson Engler},
  year         = {2008},
  journal      = {ACM Transactions on Information and System Security},
  publisher    = {Association for Computing Machinery},
  volume       = {12},
  number       = {2},
  pages        = {1--38},
  doi          = {10.1145/1455518.1455522},
}

This record lives at https://refs.drheap.org/cadar2008exe/ and will keep doing so.