Computing repair trees for resolving inconsistencies in design models

Computing repair trees for resolving inconsistencies in design models
复制标题

计算修复树以解决设计模型中的不一致问题

DOI:
--
复制
发表时间:
2012
期刊:
2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
影响因子:
--
通讯作者:
Alexander Egyed
Alexander Egyed
中科院分区:
--
文献类型:
--
作者:
Alexander Reder;Alexander Egyed

文献摘要

被引文献

相似文献

解决软件模型中的不一致性是一项复杂的任务,因为修复的数量呈指数级增长。因此,现有的方法只强调有选择的修复,但这样做降低了它们的有用性。本文通过关注导致不一致的原因并将修复呈现为线性增长的修复树来处理大量的修复。通过检查不一致的运行时评估来计算原因,以了解失败的位置和原因。然后,组成修复的单个更改在修复树中建模为反映不一致设计规则的语法结构的备选方案和序列。该方法是自动化的,并且工具支持。它的可扩展性在29个UML模型和18个OCL设计规则上进行了经验评估,我们表明该方法平均在毫秒内计算修复树。我们相信这种方法适用于任意的建模和约束语言。
Resolving inconsistencies in software models is a complex task because the number of repairs grows exponentially. Existing approaches thus emphasize on selected repairs only but doing so diminishes their usefulness. This paper copes with the large number of repairs by focusing on what caused an inconsistency and presenting repairs as a linearly growing repair tree. The cause is computed by examining the run-time evaluation of the inconsistency to understand where and why it failed. The individual changes that make up repairs are then modeled in a repair tree as alternatives and sequences reflecting the syntactic structure of the inconsistent design rule. The approach is automated and tool supported. Its scalability was empirically evaluated on 29 UML models and 18 OCL design rules where we show that the approach computes repair trees in milliseconds on average. We believe that the approach is applicable to arbitrary modeling and constraint languages.