Abstract
Developers change models with clear intentions—e.g., for refactoring, defects removal, or evolution. However, in doing so, developers are often unaware of the consequences of their changes. Changes to one part of a model may affect other parts of the same model and/or even other models, possibly created and maintained by other developers. The consequences are incomplete changes and with it inconsistencies within or across models. Extensive works exist on detecting and repairing inconsistencies. However, the literature tends to focus on inconsistencies as errors in need of repairs rather than on incomplete changes in need of further propagation. Many changes are non-trivial and require a series of coordinated model changes. As developers start changing the model, intermittent inconsistencies arise with other parts of the model that developers have not yet changed. These inconsistencies are cues for incomplete change propagation. Resolving these inconsistencies should be done in a manner that is consistent with the original changes. We speak of consistent change propagation. This paper leverages classical inconsistency repair mechanisms to explore the vast search space of change propagation. Our approach not only suggests changes to repair a given inconsistency but also changes to repair inconsistencies caused by the aforementioned repair. In doing so, our approach follows the developer’s intent where subsequent changes may not contradict or backtrack earlier changes. We argue that consistent change propagation is essential for effective model-driven engineering. Our approach and its tool implementation were empirically assessed on 18 case studies from industry, academia, and GitHub to demonstrate its feasibility and scalability. A comparison with two versioned models shows that our approach identifies actual repair sequences that developers had chosen. Furthermore, an experiment involving 22 participants shows that our change propagation approach meets the workflow of how developers handle changes by always computing the sequence of repairs resulting from the change propagation.
| Originalsprache | Englisch |
|---|---|
| Seiten (von - bis) | 539-555 |
| Seitenumfang | 17 |
| Fachzeitschrift | Software and Systems Modeling |
| Volume | 20 |
| Ausgabenummer | 2 |
| DOIs | |
| Publikationsstatus | Veröffentlicht - Aug. 2020 |
Wissenschaftszweige
- 102 Informatik
- 102022 Softwareentwicklung
JKU-Schwerpunkte
- Digital Transformation
Projekte
- 3 Abgeschlossen
-
Multi-View Consistency Checking (MCCC)
Egyed, A. (Projektleiter*in)
26.05.2019 → 25.11.2024
Projekt: Geförderte Forschung › FWF - Österreichischer Wissenschaftsfonds
-
LIT Factory The smart research factory in upper austria
Löw-Baselli, B. (Forscher*in), Major, Z. (Forscher*in) & Steinbichler, G. (Projektleiter*in)
01.01.2018 → 30.04.2020
Projekt: Geförderte Forschung › FFG - Österreichische Forschungsförderungsgesellschaft
-
Pro2Future - Products and Production Systems of the Future
Egyed, A. (Forscher*in), Küng, J. (Forscher*in), Miethlinger, J. (Forscher*in), Müller, A. (Forscher*in), Schlacher, K. (Forscher*in), Streit, M. (Forscher*in) & Ferscha, A. (Projektleiter*in)
01.04.2017 → 31.03.2025
Projekt: Geförderte Forschung › FFG - Österreichische Forschungsförderungsgesellschaft
Dieses zitieren
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver