Change-Oriented Repair Propagation

被引:7
作者
Marchezan, Luciano [1 ]
Assuncao, Wesley K. G. [1 ]
Egyed, Alexander [1 ]
Kretschmer, Roland [2 ]
机构
[1] ISSE Johannes Kepler Univ Linz, Linz, Austria
[2] Dynatrace Res, Linz, Austria
来源
2022 IEEE/ACM JOINT 16TH INTERNATIONAL CONFERENCE ON SOFTWARE AND SYSTEM PROCESSES AND 17TH ACM/IEEE INTERNATIONAL CONFERENCE ON GLOBAL SOFTWARE ENGINEERING (ICSSP/ICGSE 2022) | 2022年
基金
奥地利科学基金会;
关键词
Model-Driven Engineering; Inconsistency Repair; Change Propagation; Conflict Detection; CLASSIFICATION; UML;
D O I
10.1145/3529320.3529330
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Repairing software models may be a laborious task, as the number of alternatives that must be considered by engineers can be large. This is more evident in collaborative environments, where the stream of changes applied to models by different engineers is constant and unanticipated. These changes can cause multiple inconsistencies that must be fixed while preserving the changes applied. However, performing this task is not trivial, as analyzing the changes and the possible large amount of repair alternatives requires time and effort. In this work, we present an approach that aids this repair process by analyzing the stream of changes (i.e., history of changes) while exploring repair alternatives alongside their side effects. The approach generates repairs for inconsistencies identified in the model. These repairs are explored by simulating their execution while re-analyzing the model to find potential new inconsistencies created. Then, new repairs are generated to fix these new inconsistencies. This cycle repeats until the model reaches a consistent state or until repairs can no longer be generated. The approach also analyzes conflicts between repairs and changes. This analysis brings valuable information to engineers regarding how each repair alternative would impact their models and may conflict with changes as well as other repairs. We evaluated our approach in a set of 11 UML models that contain a history of changes. Our findings show how our approach can be applied in a variety of models with a different number of model elements and inconsistencies within a reasonable amount of time.
引用
收藏
页码:82 / 92
页数:11
相关论文
共 29 条
[1]  
BALZER R, 1991, 13TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P158, DOI 10.1109/ICSE.1991.130638
[2]   An extensible framework for customizable model repair [J].
Barriga, Angela ;
Heldal, Rogardt ;
Iovino, Ludovico ;
Marthinsen, Magnus ;
Rutle, Adrian .
23RD ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2020, 2020, :24-34
[3]   Grand challenges inmodel-driven engineering: an analysis of the state of the research [J].
Bucchiarone, Antonio ;
Cabot, Jordi ;
Paige, Richard F. ;
Pierantonio, Alfonso .
SOFTWARE AND SYSTEMS MODELING, 2020, 19 (01) :5-13
[4]   An agent-oriented approach to change propagation in software maintenance [J].
Dam, Hoa Khanh ;
Winikoff, Michael .
AUTONOMOUS AGENTS AND MULTI-AGENT SYSTEMS, 2011, 23 (03) :384-452
[5]   Collaborative Model-Driven Software Engineering: A Systematic Update [J].
David, Istvan ;
Aslam, Kousar ;
Faridmoayer, Sogol ;
Malavolta, Ivano ;
Syriani, Eugene ;
Lago, Patricia .
24TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS 2021), 2021, :273-284
[6]  
Easterbrook S., 2007, P 22 IEEEACM INT C A, P574
[7]  
Egyed A., 2006, 28th International Conference on Software Engineering Proceedings, P381, DOI 10.1145/1134285.1134339
[8]  
Egyed A, 2007, PROC INT CONF SOFTW, P292
[9]   Automatically Detecting and Tracking Inconsistencies in Software Design Models [J].
Egyed, Alexander .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2011, 37 (02) :188-203
[10]   An industrial case study on the use of UML in software maintenance and its perceived benefits and hurdles [J].
Fernandez-Saez, Ana M. ;
Chaudron, Michel R. V. ;
Genero, Marcela .
EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (06) :3281-3345