Inter-Class Mutation Operators for Java

  • Authors:
  • Yu-Seung Ma;Yong-Rae Kwon;Jeff Offutt

  • Affiliations:
  • -;-;-

  • Venue:
  • ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The effectiveness of mutation testing depends heavily onthe types of faults that the mutation operators are designedrepresent. Therefore, the quality of the mutation operatorsis key to mutation testing. Mutation testing has traditionallybeen applied to procedural-based languages, andmutation operators have been developed to support most oftheir language features.Object-oriented programming languages contain newlanguage features, most notably inheritance, polymorphism,and dynamic binding. Not surprisingly, these languagefeatures allow new kinds of faults, some of which arenot modeled by traditional mutation operators. Althoughmutation operators for OO languages have previously beensuggested, our work in OO faults indicate that the previousoperators are insufficient to test these OO languagefeatures, particularly at the class testing level. This paperintroduces a new set of class mutation operators forthe OO language Java. These operators are based on specificOO faults and can be used to detect faults involvinginheritance, polymorphism, and dynamic binding, thus areuseful for inter-class testing. An initial Java mutation toolhas recently been completed, and a more powerful versioncurrently under construction.