Coverage guided, property based testing
Abstract
Property-based random testing, exemplified by frameworks such as Haskell's QuickCheck, works by testing an executable predicate (a property) on a stream of randomly generated inputs. Property testing works very well in many cases, but not always. Some properties are conditioned on the input satisfying demanding semantic invariants that are not consequences of its syntactic structure---e.g., that an input list must be sorted or have no duplicates. Most randomly generated inputs fail to satisfy properties with such sparse preconditions, and so are simply discarded. As a result, much of the target system may go untested.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Oct 10, 2019
- Source ID
- 10.1145/3360607
Entities
People
- Benjamin C. Pierce
- Leonidas Lampropoulos
- Michael Hicks
Organizations
- Defense Advanced Research Projects Agency
- National Science Foundation
- University of Maryland
- University of Pennsylvania