Article ID Journal Published Year Pages File Type
421684 Electronic Notes in Theoretical Computer Science 2009 16 Pages PDF
Abstract

Mutation testing is a well known fault-based testing technique that is normally used to assess the quality of a test suite. In this paper we use the mutation operation to derive test cases that demonstrate the absence of certain faults in an implementation: In difference to conventional mutation testing, which mutates program code, we mutate program contracts and generate test-input data that is able to distinguish the mutated contract from the original one. We show how existing development tools can be used as a foundation for the presented methodology: In particular we rely on the counter-example generation capabilities of the Spec#/Boogie/Z3 system.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics