A novel approach to the design and implementation of mutation operators for Object-Oriented programming language

Authors

  • Qianqian Wang
  • Hirohide Haga

Keywords:

Software Testing, Mutation Analysis, Object Oriented Langauge, XML

Abstract

Software testing allows programmers to determine and guarantee the quality of software system. It is one of the essential activities in software development process. Mutation analysis is a branch of software testing. It is classified as a faultbased software testing technology. Unlike other software testing technologies, mutation analysis assesses the quality of software test cases and therefore improves the efficiency of software testing by measuring and improving the quality of test cases set. Mutation analysis works by generating mutants, which describe the faults that may occur in the software programs. Mutants are generated by applying mutation operators on original software program. Mutation operator is a rule that specifies the syntactic variations of strings. There have been several works about mutation analysis support system for conventional languages such as C and FORTRAN. However, there are a few for object-oriented languages such as C++ and Java. This article aims to propose a novel approach to design and implement mutation operators for object-oriented programming language. The essential idea of proposed method is the usage of JavaML as the intermediate representation to implement mutation operators: it first converts the original program into JavaML document; then implements mutation operator for JavaML document and gets the mutated JavaML document with the help of DOM – a tool to process JavaML document– finally it converts the mutated JavaML document into mutant program. Typical six mutation operators are implemented. Implementation detail will be given in this article. 

Downloads

Download data is not yet available.

Downloads

Published

2015-01-01

How to Cite

Qianqian Wang, & Hirohide Haga. (2015). A novel approach to the design and implementation of mutation operators for Object-Oriented programming language. Journal of Network and Innovative Computing, 3, 13. Retrieved from https://cspub-jnic.org/index.php/jnic/article/view/89

Issue

Section

Original Article