A novel approach to the design and implementation of mutation operators for Object-Oriented programming language
Keywords:
Software Testing, Mutation Analysis, Object Oriented Langauge, XMLAbstract
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
Downloads
Published
How to Cite
Issue
Section
License
You are free to:
- Share — copy and redistribute the material in any medium or format for any purpose, even commercially.
- Adapt — remix, transform, and build upon the material for any purpose, even commercially.
- The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
- Attribution — You must give appropriate credit , provide a link to the license, and indicate if changes were made . You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation .
No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.