English

Mutation Testing with Hyperproperties

Logic in Computer Science 2019-07-18 v1 Software Engineering

Abstract

We present a new method for model-based mutation-driven test case generation. Mutants are generated by making small syntactical modifications to the model or source code of the system under test. A test case kills a mutant if the behavior of the mutant deviates from the original system when running the test. In this work, we use hyperproperties-which allow to express relations between multiple executions-to formalize different notions of killing for both deterministic as well as non-deterministic models. The resulting hyperproperties are universal in the sense that they apply to arbitrary reactive models and mutants. Moreover, an off-the-shelf model checking tool for hyperproperties can be used to generate test cases. We evaluate our approach on a number of models expressed in two different modeling languages by generating tests using a state-of-the-art mutation testing tool.

Keywords

Cite

@article{arxiv.1907.07368,
  title  = {Mutation Testing with Hyperproperties},
  author = {Andreas Fellner and Mitra Tabaei Befrouei and Georg Weissenbacher},
  journal= {arXiv preprint arXiv:1907.07368},
  year   = {2019}
}

Comments

To appear at the international conference of software engineering and formal methods