A novel approach to the design and implementation of mutation operators for object-oriented programming language

Qianqian Wang, H. Haga
{"title":"A novel approach to the design and implementation of mutation operators for object-oriented programming language","authors":"Qianqian Wang, H. Haga","doi":"10.1109/WICT.2014.7077310","DOIUrl":null,"url":null,"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 fault-based 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, from original program. 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 language 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.","PeriodicalId":439852,"journal":{"name":"2014 4th World Congress on Information and Communication Technologies (WICT 2014)","volume":"613 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 4th World Congress on Information and Communication Technologies (WICT 2014)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WICT.2014.7077310","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

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 fault-based 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, from original program. 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 language 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.
面向对象程序设计语言中突变操作符的设计与实现
软件测试使程序员能够确定和保证软件系统的质量。它是软件开发过程中必不可少的活动之一。突变分析是软件测试的一个分支。它被归类为一种基于故障的软件测试技术。与其他软件测试技术不同,突变分析评估软件测试用例的质量,因此通过度量和改进测试用例集的质量来提高软件测试的效率。突变分析通过从原始程序中生成突变来描述软件程序中可能出现的故障。在原软件程序上应用变异算子生成突变体。变异操作符是指定字符串语法变化的规则。对于C和FORTRAN等传统语言的突变分析支持系统已经有了一些研究。然而,有一些面向对象的语言,如c++和Java。本文旨在提出一种面向对象编程语言的突变操作符的设计和实现方法。该方法的核心思想是使用JavaML语言作为实现变异操作符的中间表示:首先将原始程序转换为JavaML文档;然后实现对JavaML文档的变异运算符,并借助处理JavaML文档的工具DOM获得变异后的JavaML文档;最后将修改后的JavaML文档转换为修改后的程序。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信