Pex - White Box Test Generation for .NET

Nikolai Tillmann and Jonathan de Halleux

Abstract

Pex automatically produces a small test suite with high code coverage for a .NET program. To this end, Pex performs a systematic program analysis (using dynamic symbolic execution, similar to path-bounded model-checking) to determine test inputs for Parameterized Unit Tests. Pex learns the program behavior by monitoring execution traces. Pex uses a constraint solver to produce new test inputs which exercise different program behavior. The result is an automatically generated small test suite which often achieves high code coverage. In one case study, we applied Pex to a core component of the .NET runtime which had already been extensively tested over several years. Pex found errors, including a serious issue.

Details

Publication typeInproceedings
Published inProc. of Tests and Proofs (TAP'08)
URLhttp://dx.doi.org/10.1007/978-3-540-79124-9_10
Pages134–153
Volume4966
SeriesLNCS
AddressPrato, Italy
PublisherSpringer Verlag
> Publications > Pex - White Box Test Generation for .NET