Managing the Impact of UML Design Changes on Their Consistency and Quality

Depending on the phase in which they come up, changes induce modifications on various software models and may cause model quality deterioration—e.g., incoherence among models, increased complexity. To handle efficiently model changes, every software development project must have a means to manage the impact of every change in one model on the remaining models. Toward this end, we herein present an automated approach that analyzes the effects of changes on the different software models, while considering their impact on the models’ quality. Our approach adopts a graph-based traceability technique to identify change impact in terms of the necessary updates the relevant models must undergo to remain coherent, and the effects of the change/updates on the quality of the resulting models. It uses intra and inter UML diagrams’ dependencies, best-practice guidelines, and a set of quality metrics. Evaluated quantitatively on three cases, our approach showed an average precision of 0.88 and recall of 0.95 in identifying the impacts of different types of changes.

[1]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[2]  Michael Winikoff,et al.  Supporting change propagation in UML models , 2010, 2010 IEEE International Conference on Software Maintenance.

[3]  Tibor Gyimóthy,et al.  The Dynamic Function Coupling Metric and Its Use in Software Evolution , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[4]  Hareton K. N. Leung,et al.  A survey of code‐based change impact analysis techniques , 2013, Softw. Test. Verification Reliab..

[5]  Maged Elaasar,et al.  An Overview of UML Consistency Management , 2004 .

[6]  E. Chandra,et al.  Class Break Point Determination Using CK Metrics Thresholds , 2010 .

[7]  Nadia Bouassida,et al.  Evaluation of an Automated Multi-phase Approach for Patterns Discovery , 2013, Int. J. Softw. Eng. Knowl. Eng..

[8]  Sahin Albayrak,et al.  Formalizing model consistency based on the abstract syntax , 2011, EICS '11.

[9]  Jonathan I. Maletic,et al.  Automatically identifying changes that impact code-to-design traceability during evolution , 2010, Software Quality Journal.

[10]  Ricardo Baeza-Yates,et al.  Information Retrieval: Data Structures and Algorithms , 1992 .

[11]  Denys Poshyvanyk,et al.  Blending Conceptual and Evolutionary Couplings to Support Change Impact Analysis in Source Code , 2010, 2010 17th Working Conference on Reverse Engineering.

[12]  Serge Demeyer,et al.  Change Impact Analysis for UML Model Maintenance , 2012 .

[13]  Parastoo Mohagheghi,et al.  Existing model metrics and relations to model quality , 2009, 2009 ICSE Workshop on Software Quality.

[14]  Alexander Egyed,et al.  UML/Analyzer: A Tool for the Instant Consistency Checking of UML Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[15]  A. Orso,et al.  Efficient and precise dynamic impact analysis using execute-after sequences , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[16]  Lionel C. Briand,et al.  Automated impact analysis of UML models , 2006, J. Syst. Softw..

[17]  Bixin Li,et al.  Change Impact Analysis Based on a Taxonomy of Change Types , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[18]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[19]  J. Rilling,et al.  A Requirement Level Modification Analysis Support Framework , 2007, Third International IEEE Workshop on Software Evolvability 2007.

[20]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[21]  Ananya Kanjilal,et al.  UML-Compiler: A Framework for Syntactic and Semantic Verification of UML Diagrams , 2010, ICDCIT.

[22]  Linda Badri,et al.  Supporting predictive change impact analysis: a control call graph based technique , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[23]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[24]  Antje von Knethen,et al.  QuaTrace: a tool environment for (semi-) automatic impact analysis based on traces , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[25]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[26]  Václav Rajlich,et al.  Variable granularity for improving precision of impact analysis , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[27]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[28]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[29]  Hazura Zulzalil,et al.  Review on software metrics thresholds for object-oriented software , 2013 .

[30]  Ludovico Iovino,et al.  Traceability visualization in metamodel change impact detection , 2013 .

[31]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[32]  Roberto da Silva Bigonha,et al.  Identifying thresholds for object-oriented software metrics , 2012, J. Syst. Softw..

[33]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[34]  Jaiprakash T. Lallchandani,et al.  Static Slicing of UML Architectural Models , 2009, J. Object Technol..

[35]  Aditya K. Ghose,et al.  Towards rational and minimal change propagation in model evolution , 2014, ArXiv.

[36]  John Mylopoulos,et al.  RULE-BASED DETECTION OF INCONSISTENCY IN UML MODELS , 2002 .