Abstract
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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
Keller, A.; Demeyer, S.: Change impact analysis for UML model maintenance. Book chapter: Emerging Technologies for the Evolution and Maintenance of Software Models, pp. 32–56 (2012)
Briand, L.C.; Labiche Y.; O’Sullivan, L.: Impact Analysis and Change Management of UML Models. In: Proceedings of the International Conference on Software Maintenance, pp. 276–280 (2003)
Zimmermann, T.; Weigerber, P.; Diehl, S.; Zeller, A.: Mining version histories to guide software changes. In: Proceedings of the 26th International Conference on Software Engineering, Edinburgh, Scotland, UK, pp. 563–572 (2004)
Kagdi, H.; Gethers, M.; Poshyvanyk, D.; Collard, M.L.: Blending conceptual and evolutionary couplings to support change impact analysis in source code. In: Proceedings of the IEEE Working Conference on Reverse Engineering, Beverly, MA, USA, pp. 119–128 (2010)
Petrenko, M.; Rajlich, V.: Variable granularity for improving precision of impact analysis. In: Proceedings of the International Conference on Program Comprehension, Vancouver, BC, Canada, pp. 10–19 (2009)
Tsiolakis, A.: Consistency analysis of UML class and sequence diagrams based on attributed typed graphs and their transformations. ETAPS Workshop on Graph Transformation Systems (2000)
Hammad M., Collard M.L., Maletic J.: Automatically identifying changes that impact code-to-design traceability during evolution. J. Softw. Qual. 19(1), 35–64 (2011)
Knethen, A.; Grund, M.: QuaTrace: a tool environment for (semi-) automatic impact analysis based on traces. In: Proceedings of the International Conference on Software Maintenance, Amsterdam, Netherlands, pp. 246–255 (2003)
Rocco, J.D.; Ruscio, D.D.; Iovino, L.; Pierantonio, A.: Traceability visualization in metamodel change impact detection. In: 2nd Workshop on Graphical Modeling Language Development, pp. 51–62 (2013)
Khalil, A.; Dingel, J.: Supporting the Evolution of UML Models in Model Driven Software Development: A Survey, Technical Report 2013-602, School of Computing, Queen’s University Kingston, Canada (2013)
Kchaou, D.; Ben-Abdallah, H.; Bouassida, N.: Change impact management on model transformations. In: Proceedings of the International Conference on Computational Intelligence and Software Engineering (CiSE2012), Wuhan, China, December (2012)
Rational Software White Paper, Rational Unified Process Best Practices for Software Development Teams, TP026B (2001)
Jacobson I., Booch G., Rumbaugh J.: The Unified Software Development Process. Addison-Wesley Longman, Reading (1999)
Chanda, J.; Kanjilal, A.; Sengupta S.: UML-Compiler: a framework for syntactic and semantic verification of UML diagrams. In: International Conference Distributed Computing and Internet Technology, LNCS, vol. 5966, pp. 194–205 (2010)
Chidamber, S.R.; Kemerer, C.F.: Towards a metrics suite for object oriented design. In: Conference proceedings of Object-oriented programming systems, languages, and applications, pp. 197–211 (1991)
Mohagheghi, P.; Dehlen, V.: Existing model metrics and relations to model quality Software Quality. In: ICSE Workshop, pp. 39–45 (2009)
OMG Unified Modeling Language TM OMG UML, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1 (2011)
Li B., Sun X., Leung H., Zhang S.: A survey of code-based change impact analysis techniques. J. Softw. Test. Verif. Reliab. 23, 613–646 (2012)
Badri, L.; Badri, M.; St-Yves, D.: Supporting predictive change impact analysis: a control call graph based technique. In: Proceedings of the Asia-Pacific Software Engineering Conference, Taipei, Taiwan, China, pp. 167–175 (2005)
Sun, X.; Li, B.; Tao, C.; Wen, W.; Zhang, S.: Change impact analysis based on a taxonomy of change types. In: International Conference on Computer Software and Applications, Seoul, Korea, pp. 373–382 (2010)
Beszedes, A.; Gergely, T.; Farao, S.; Gyimothy, T.; Fischer, F.: The dynamic function coupling metric and its use in software evolution. In: Proceedings of the 11th European Conference on Software Maintenance and Reengineering, Amsterdam, Netherlands, pp. 103–112 (2007)
Apiwattanapong, T.; Orso, A.; Harrold, J.M.: Efficient and precise dynamic impact analysis using execute-after sequences. In: Proceedings of the International Conference on Software Engineering, St. Louis, MO, USA, pp. 432–441 (2005)
Briand L.C., Labiche Y., O’Sullivan L., Sówka M.: Automated impact analysis of UML models. J. Syst. Softw. 79, 339–352 (2006)
Egyed, A.: Fixing Inconsistencies in UML Design Models. In: Proceedings of the 29th International Conference on Software Engineering, pp. 292–301 (2007)
Egyed, A.: UML/Analyzer: a tool for the instant consistency checking of UML models. In: Proceedings of the 29th International Conference on Software Engineering, pp. 793–796 (2007)
Dam, H.K.; Winiko, M.: Supporting change propagation in UML models. In: Proceedings of the 26th IEEE International Conference on Software Maintenance, IEEE Computer Society, Washington (2010)
Dam, H.K.; Ghose, A.: Towards rational and minimal change propagation in model evolution. CoRR. abs/1402.6046 (2014)
Shiri, M.; Hassine, J.; Rilling, J.: A requirement level modification analysis support framework. In; Proceedings of the International Workshop on Software Evolvability, Maison Internationale, Paris, France, pp. 67–74 (2007)
Ganter B., Wille R.: Formal Concept Analysis: Mathematical Foundations. Springer, New York (1997)
Trollmann, F.; Blumendorf, M.; Schwartze, V.; Albayrak, S.: Formalizing model consistency based on the abstract syntax. In: Proceedings of the 3rd ACM SIGCHI symposium on Engineering interactive computing systems, pp. 79–84 (2011)
Elaasar, M.; Briand, L.: An Overview of UML Consistency Management, Technical Report SCE-04-18, 1125 Colonel-By Drive, Ottawa, ON, August 24 (2004)
Liu W.; Easterbrook, S.; Mylopoulos, J.: Rule-based detection of inconsistency in UML models. In: Proceedings of UML Workshop on Consistency Problems in UML-based Software Development, Blekinge Institute of Technology, pp. 106–123 (2002)
Spanoudakis G., Zisman A.: Inconsistency management in software engineering: survey and open research issues. Handb. Softw. Eng. Knowl. Eng. 1, 329–380 (2001)
Lallchandani J.T., Mall R.: Static slicing of UML architectural models. J. Object Technol. 8(1), 159–188 (2009)
Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object Oriented Software. Addisson-Wesley, Reading (1995)
Chandra E., Linda P.: Class break point determination using CK metrics thresholds. Glob. J. Comput. Sci. Technol. 10, 73–77 (2010)
Ferreira K.A.M., Bigonha M.A.S., Bigonha R.S., Mendes L.F.O., Almeida H.C.: Identifying thresholds for object-oriented software metrics. J. Syst. Softw. 85, 244–257 (2012)
Bakar A.D., Sultan A.B.M., Zulzalil H., Din J.: Review on software metrics thresholds for object-oriented software. Int. Rev. Comput. Softw. 8(11), 2593–2600 (2013)
Tarcísio, G.S.F.; Bigonha, M.A.S: A catalogue of thresholds for object-oriented software metrics. In: SOFTENG 2015: The First International Conference on Advances and Trends in Software Engineering (2015)
Bouassida N., Ben-Abdallah H., Issaoui I.: Evaluation of an automated multi-phase approach for pattern discovery. Int. J. Softw. Eng. Knowl. Eng. 23(10), 1367–1398 (2013)
Arnold R., Bohner S.: Change Impact Analysis, 1st edn. Wiley-IEEE Computer Society Press, New York (1996)
Kchaou, D.; Bouassida, N.; Ben-Abdallah, H.: A MOF-based change meta-model. Proceedings of the International Arab Conference on Information Technology, CCIS, Zarqa, Jordon (2012)
OMG Meta Object Facility (MOF) Core Specification, Version 2.4.1, OMG Document Number: formal/2011-08-07. http://www.omg.org/spec/MOF/2.4.1/PDF (2011)
Russell, C.B.: An Example of Object-Oriented Design: An ATM Simulation, Gordon College, Copyright2004. http://www.math-cs.gordon.edu/courses/cs211/ATMExample/
Wohlin C., Runeson P., Höst M., Ohlsson M.C., Regnell B., Wesslén A.: Experimentation in Software Engineering. Kluwer, Norwell (2000)
Frakes W.B., Baeza-Yates R.: Information Retrieval: Data Structures and Algorithms. Prentice Hall, Englewood Cliffs (1992)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kchaou, D., Bouassida, N. & Ben-Abdallah, H. Managing the Impact of UML Design Changes on Their Consistency and Quality. Arab J Sci Eng 41, 2863–2881 (2016). https://doi.org/10.1007/s13369-016-2040-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13369-016-2040-7