Operators for Mutation Testing of Python Programs

Anna Dereziska, Konrad Haas · 2014

Mutation testing that supports design of high qua lity test suites of a program. It is based on mutation operators that spe cify small changes intro- duced into a program. Python is an interpreted prog ramming language with dy- namic typing system. In dynamically typed programs, type consistency rules cannot be statically verified. A mutated program ca n be an incompetent mutant that manifests an incorrect behavior at runtime due to violation of typing rules. In this paper we specify a set of mutation operator s that could be applied to Py- thon programs. Most of them correspond to selected operators used in strongly typed general purpose languages, covering structura l and object-oriented muta- tion operators. They were adopted to the Python lan guage. Operators designed for Python features are also discussed. We try to a void operators that generate many incompetent mutants. All operators can be applied before a mutated pro- gram execution and possible incompetent mutants are to be automatically de- tected at runtime.

Read the paper · More papers on PaperTik