Affiliation:
1. Universität Siegen, Germany
2. Humboldt-Universität zu Berlin, Germany
Abstract
Models in Model-driven Engineering are primary development artifacts that are heavily edited in all stages of software development and that can become temporarily inconsistent during editing. In general, there are many alternatives to resolve an inconsistency, and which one is the most suitable depends on a variety of factors. As also proposed by recent approaches to model repair, it is reasonable to leave the actual choice and approval of a repair alternative to the discretion of the developer. Model repair tools can support developers by proposing a list of the most promising repairs. Such repair recommendations will be only accepted in practice if the generated proposals are plausible and understandable, and if the set as a whole is manageable. Current approaches, which mostly focus on exhaustive search strategies, exploring all possible model repairs without considering the intention of historic changes, fail in meeting these requirements.
In this article, we present a new approach to generate repair proposals that aims at inconsistencies that have been introduced by past incomplete edit steps that can be located in the version history of a model. Such an incomplete edit step is either undone or it is extended to a full execution of a consistency-preserving edit operation. The history-based analysis of inconsistencies as well as the generation of repair recommendations are fully automated, and all interactive selection steps are supported by our repair tool called R
E
V
ISION
. We evaluate our approach using histories of real-world models obtained from popular open-source modeling projects hosted in the Eclipse Git repository, including the evolution of the entire UML meta-model. Our experimental results confirm our hypothesis that most of the inconsistencies, namely, 93.4, can be resolved by complementing incomplete edits. 92.6% of the generated repair proposals are relevant in the sense that their effect can be observed in the models’ histories. 94.9% of the relevant repair proposals are ranked at the topmost position.
Publisher
Association for Computing Machinery (ACM)
Cited by
14 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Reuse and Automated Integration of Recommenders for Modelling Languages;Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering;2023-10-23
2. Model and Data Differences in an Enterprise Low-Code Platform;2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C);2023-10-01
3. Empowering Model Repair: A Rule-Based Approach to Graph Repair Without Side Effects;2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C);2023-10-01
4. Do Developers Benefit from Recommendations when Repairing Inconsistent Design Models? a Controlled Experiment;Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering;2023-06-14
5. Evaluation diversity for graph conditions;Journal of Logical and Algebraic Methods in Programming;2023-06