Better predicate testing

  • Authors:
  • Gary Kaminski;Paul Ammann;Jeff Offutt

  • Affiliations:
  • George Mason University, Fairfax, VA, USA;George Mason University, Fairfax, VA, USA;George Mason University, Fairfax, VA, USA

  • Venue:
  • Proceedings of the 6th International Workshop on Automation of Software Test
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Mutation testing is widely recognized as being extremely powerful, but is considered difficult to automate enough for practical use. This paper theoretically addresses two possible reasons for this: the generation of redundant mutants and the lack of integration of mutation analysis with other test criteria. By addressing these two issues, this paper brings an important mutation operator, relational-operator-replacement (ROR), closer to practical use. First, we develop fault hierarchies for the six relational operators, each of which generates seven mutants per clause. These hierarchies show that, for any given clause, only three mutants are necessary. This theoretical result can be integrated easily into mutation analysis tools, thereby eliminating generation of 57% of the ROR mutants. Second, we show how to bring the power of the ROR operator to the widely used Multiple Condition-Decision Coverage (MCDC) test criterion. This theoretical result includes an algorithm to transform any MCDC-adequate test set into a test set that also satisfies RORG, a new version of ROR appropriate for the MCDC context. The transformation does not use traditional mutation analysis, so can easily be integrated into existing MCDC tools and processes.