当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Suggesting model transformation repairs for rule-based languages using a contract-based testing approach
Software and Systems Modeling ( IF 2 ) Pub Date : 2021-05-26 , DOI: 10.1007/s10270-021-00891-0
Roberto Rodriguez-Echeverria , Fernando Macías , Adrian Rutle , José M. Conejero

Model transformations play an essential role in most model-driven software projects. As the size and complexity of model transformations increase, their reuse, evolution and maintenance become a challenge. This work further details the Model Transformation TEst Specification (MoTES) approach, which leverages contract-based model testing techniques to assist engineers in model transformation evolution and repairing. The main novelty of our approach is to use contract-based model transformation testing as a foundation to derive suggestions of concrete adaptation actions. MoTES uses contracts to specify the expected behaviour of the model transformation under test. These contracts are transformed into model transformations which act as oracles on input–output model pairs, previously generated by executing the transformation under test on provided input models. By further processing, the oracles’ output model, precision and recall metrics are calculated for every output pattern (testing results). These metrics are then categorised to increase the user’s ability to interpret and act on them. The MoTES approach defines 8 cases for precision and recall values classification (test result cases). As traceability information is retained from transformation rules to each output pattern, it is possible to classify each transformation rule involved according to its impact on the metrics, e.g. the number of true positives generated. The MoTES approach defines 37 cases for these classifications, with each one linked to a particular (abstract) action suggested on a rule, such as relaxation of the rules. A comprehensive evaluation of this approach is also presented, consisting of three case studies. Two previous case studies performed over two model transformations (UML2ER and E2M) are replicated to contrast MoTES with an existing model transformation fault localisation approach. An additional case study presents how MoTES helps with the evolution of an existing model transformation in the context of a reverse engineering project. Main evaluation results show that our approach can not only detect the errors introduced in the transformations but also localise the faulty rule and suggest the proper repair actions, which significantly reduce testers’ effort. From a quantitative perspective, in the third case study, MoTES was able to indicate one faulty rule from 19 possibilities for each result case and suggest one or two repair actions from 6 possibilities for each faulty rule.



中文翻译:

使用基于合同的测试方法为基于规则的语言建议模型转换修复

在大多数模型驱动的软件项目中,模型转换起着至关重要的作用。随着模型转换的规模和复杂性的增加,它们的重用,演化和维护成为一个挑战。这项工作进一步详细说明了模型转换TEst规范(MoTES)方法,该方法利用基于合同的模型测试技术来协助工程师进行模型转换的演化和修复。我们方法的主要新颖之处是使用基于合同的模型转换测试作为基础,以得出具体的适应措施建议。MoTES使用合同来指定测试中模型转换的预期行为。这些合同转换为模型转换,充当输入-输出模型对上的预言片,先前通过在提供的输入模型上执行测试中的转换生成的。通过进一步处理,可以为每种输出模式(测试结果)计算出预言家的输出模型,精度和召回率指标。然后对这些指标进行分类,以提高用户对其进行解释和采取行动的能力。MoTES方法为精度和召回值分类定义了8个案例(测试结果案例)。由于可追溯性信息从转换规则保留到每个输出模式,因此可以根据每个转换规则对度量的影响(例如,生成的真实肯定数)对每个转换规则进行分类。MoTES方法为这些分类定义了37个案例,每个案例都与规则中建议的特定(抽象)操作(例如放宽规则)有关。还介绍了这种方法的综合评估,包括三个案例研究。复制了之前在两个模型转换(UML2ER和E2M)上进行的两个案例研究,以将MoTES与现有的模型转换故障定位方法进行对比。另一个案例研究展示了MoTES如何在逆向工程项目的背景下帮助现有模型转换的发展。主要评估结果表明,我们的方法不仅可以检测到转换中引入的错误,还可以定位错误的规则并提出适当的修复措施,从而显着减少测试人员的工作量。从定量的角度来看,在第三个案例研究中,

更新日期:2021-05-26
down
wechat
bug