Pex–White Box Test Generation for .NET

Pex–White Box Test Generation for .NET

2008 | Nikolai Tillmann and Jonathan de Halleux
Pex is an automatic white-box test generation tool for .NET programs. It systematically analyzes programs using dynamic symbolic execution to determine test inputs for Parameterized Unit Tests. Pex learns program behavior by monitoring execution traces and uses a constraint solver to generate new test inputs that exercise different parts of the program. This results in a small, high-code-coverage test suite. Pex extends previous work in dynamic symbolic execution by building faithful symbolic representations of constraints for safe .NET programs, reasoning about unsafe features, and employing search strategies to achieve high statement coverage. Integrated into Visual Studio as an add-in, Pex can generate test cases compatible with various unit testing frameworks. A case study applied Pex to a core .NET component, identifying several errors, including a serious issue. The paper covers Pex's introduction, implementation, application to unsafe .NET code, results, comparisons with related technologies, and conclusions.Pex is an automatic white-box test generation tool for .NET programs. It systematically analyzes programs using dynamic symbolic execution to determine test inputs for Parameterized Unit Tests. Pex learns program behavior by monitoring execution traces and uses a constraint solver to generate new test inputs that exercise different parts of the program. This results in a small, high-code-coverage test suite. Pex extends previous work in dynamic symbolic execution by building faithful symbolic representations of constraints for safe .NET programs, reasoning about unsafe features, and employing search strategies to achieve high statement coverage. Integrated into Visual Studio as an add-in, Pex can generate test cases compatible with various unit testing frameworks. A case study applied Pex to a core .NET component, identifying several errors, including a serious issue. The paper covers Pex's introduction, implementation, application to unsafe .NET code, results, comparisons with related technologies, and conclusions.
Reach us at info@study.space