Mutation of Java Objects

  • Authors:
  • Roger T. Alexander;James M. Bieman;Sudipto Ghosh;Bixia Ji

  • Affiliations:
  • -;-;-;-

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Fault insertion based techniques have been used for measuringtest adequacy and testability of programs. Mutationanalysis inserts faults into a program with the goal of creatingmutation-adequate test sets that distinguish the mutantfrom the original program. Software testability is measuredby calculating the probability that a program will fail on thenext test input coming from a predefined input distribution,given that the software includes a fault. Inserted faults mustrepresent plausible errors.It is relatively easy to apply standard transformations tomutate scalar values such as integers, floats, and characterdata, because their semantics are well understood. Mutatingobjects that are instances of user defined types is moredifficult. There is no obvious way to modify such objects in amanner consistent with realistic faults, without writing custommutation methods for each object class. We propose anew object mutation approach along with a set of mutationoperators and support tools for inserting faults into objectsthat instantiate items from common Java libraries heavilyused in commercial software as well as user defined classes.Preliminary evaluation of our technique shows that it shouldbe effective for evaluating real-world software testing suites.Keywords: Faults, Java, mutation analysis, object-orientedprogramming, software testing, test adequacy,testability