%0 Journal Article %T 一种面向ATL模型转换程序的自动化缺陷修复方法
An Approach for Automatically Repairing ATL Model Transformation Programs %A 谭泽理 %A 杜柯柯 %A 江明月 %J Software Engineering and Applications %P 1297-1309 %@ 2325-2278 %D 2022 %I Hans Publishing %R 10.12677/SEA.2022.116133 %X 模型转换是模型驱动架构(Model Driven Architecture, MDA)的核心活动,它的质量直接影响到基于MDA的软件产品的质量。因此,基于模型转换开展的测试、错误定位以及缺陷修复对于基于MDA的软件开发来说至关重要。然而,由于模型转换程序自身的特点,应用于传统软件的一些方法不能直接应用。本文针对ATL (ATLAS Transformation Language)模型转换程序,提出一种基于随机搜索(random search)的缺陷修复方法,主要包括:1) 利用蜕变关系来描述模型转换程序相关源模型及其对应目标模型所应满足的属性,在此基础上应用蜕变测试技术来实现补丁的验证,以缓解ATL程序自动化缺陷修复中的Oracle问题;2) 针对ATL程序设计并实现9种变异操作(mutation operators);3) 基于随机搜索来驱动补丁生成和验证。进一步基于该方法实现一个原型工具AMTRepair,并基于AMTRepair开展了初步的实验。实验结果表明针对目标程序,AMTRepair的缺陷修复率约为51%,其正确补丁生成率为30%。
Model transformation program is the core activity of Model Driven Architecture (MDA), and its quality directly affects the quality of software products based on MDA. Therefore, testing, error location and defect repair based on model transformation are critical for MDA based software development. However, due to the characteristics of the model converter itself (such as Oracle problem), some methods applied to traditional software can not be directly applied. This paper proposes a random search based defect repair method for ATL (ATLAS Transformation Language) model transformation program, which mainly includes: 1) Use transformation testing and spectrum error location methods to obtain suspicious ATL rules to deal with the Oracle problem faced by ATL program testing; 2) Design and implement 9 mutation operators according to ATL program; 3) Based on a random search, patch generation and verification are driven. Furthermore, a prototype tool AMTRepair is implemented based on this method, and preliminary experiments are carried out based on AMTRepair. The experimental results show that the defect repair rate of AMTRepair is about 51% and the correct patch generation rate is 30% for the target program. %K 缺陷修复,ATL模型转换,蜕变测试,变异操作,补丁生成
Defect Repair %K ATL Model Conversion %K Metamorphic Testing %K Mutation Operation %K Patch Generation %U http://www.hanspub.org/journal/PaperInformation.aspx?PaperID=59189