Design and classification of mutation operators for OCL specification

Kunxiang Jin, K. Lano
{"title":"Design and classification of mutation operators for OCL specification","authors":"Kunxiang Jin, K. Lano","doi":"10.1145/3550356.3561545","DOIUrl":null,"url":null,"abstract":"Mutation testing is a fault-based testing technique that validates the effectiveness of a test suite by generating simulated defects in the system under test. In mutation testing, from a program or specification p, a faulty version p′ is generated by making a single simple change to p. The mutation operators are the transition rules that define how to perform these changes. Mutation operators are the essential component to guarantee the accuracy of mutation testing. Most mutation testing techniques in the literature have been researched for traditional programming languages. Since Model-Driven Engineering (MDE) has become popular in recent years and Object Constraint Language (OCL) is a standard MDE language, there has been a rapid growth in the number of system specifications expressed in OCL. However, to the best of our knowledge, there is a lack of systematic design and classification of mutation operators which apply to OCL specification. In this paper, we propose the full set of mutation operators for the OCL standard library. These operators will support the mutation testing process for system specifications expressed in OCL and could be included in future versions of the OCL library. However, these operators have different impacts and results for mutation testing. Furthermore, different OCL participators may not need to apply all these operators based on the specific testing purposes. We therefore also classify these operators into different groups in this work. The classification of OCL mutation operators will benefit the mutation testing by allowing particular groups of operators to be involved in the testing process.","PeriodicalId":182662,"journal":{"name":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","volume":"248 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3550356.3561545","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Mutation testing is a fault-based testing technique that validates the effectiveness of a test suite by generating simulated defects in the system under test. In mutation testing, from a program or specification p, a faulty version p′ is generated by making a single simple change to p. The mutation operators are the transition rules that define how to perform these changes. Mutation operators are the essential component to guarantee the accuracy of mutation testing. Most mutation testing techniques in the literature have been researched for traditional programming languages. Since Model-Driven Engineering (MDE) has become popular in recent years and Object Constraint Language (OCL) is a standard MDE language, there has been a rapid growth in the number of system specifications expressed in OCL. However, to the best of our knowledge, there is a lack of systematic design and classification of mutation operators which apply to OCL specification. In this paper, we propose the full set of mutation operators for the OCL standard library. These operators will support the mutation testing process for system specifications expressed in OCL and could be included in future versions of the OCL library. However, these operators have different impacts and results for mutation testing. Furthermore, different OCL participators may not need to apply all these operators based on the specific testing purposes. We therefore also classify these operators into different groups in this work. The classification of OCL mutation operators will benefit the mutation testing by allowing particular groups of operators to be involved in the testing process.
OCL规范中变异算子的设计与分类
突变测试是一种基于故障的测试技术,它通过在被测系统中生成模拟缺陷来验证测试套件的有效性。在突变测试中,从程序或规范p中,通过对p进行一个简单的更改就会生成一个错误的版本p '。突变操作符是定义如何执行这些更改的转换规则。突变算子是保证突变检测准确性的重要组成部分。文献中的大多数突变测试技术都是针对传统编程语言进行研究的。由于模型驱动工程(MDE)近年来非常流行,而对象约束语言(OCL)是一种标准的MDE语言,因此用OCL表达的系统规范的数量迅速增长。然而,据我们所知,目前还缺乏适用于OCL规范的突变算子的系统设计和分类。本文提出了OCL标准库的全套变异算子。这些操作符将支持用OCL表示的系统规范的突变测试过程,并且可以包含在OCL库的未来版本中。然而,这些操作符对突变检测有不同的影响和结果。此外,不同的OCL参与者可能不需要基于特定的测试目的应用所有这些操作符。因此,我们在这项工作中也将这些操作符分为不同的组。OCL突变操作符的分类通过允许特定的操作符组参与测试过程,将有利于突变测试。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信