Mutation testing with hyperproperties

Andreas Fellner, Mitra Tabaei Befrouei, Georg Weissenbacher
2021 Journal of Software and Systems Modeling  
AbstractWe 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
more » ... rministic 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. Furthermore, we propose solutions to overcome the limitations of current model checking tools via a model transformation and a bounded SMT encoding. 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.
doi:10.1007/s10270-020-00850-1 pmid:34720800 pmcid:PMC8550165 fatcat:6zaam2cxa5hjllsthiibsapinm