Arabian Journal for Science and Engineering

, Volume 41, Issue 8, pp 2863–2881 | Cite as

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

  • Dhikra Kchaou
  • Nadia Bouassida
  • Hanene Ben-Abdallah
Research Article - Computer Engineering and Computer Science

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.

Keywords

UML diagrams Change impact Dependency graph Consistency rules Quality rules Object-oriented metrics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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)Google Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    Rational Software White Paper, Rational Unified Process Best Practices for Software Development Teams, TP026B (2001)Google Scholar
  13. 13.
    Jacobson I., Booch G., Rumbaugh J.: The Unified Software Development Process. Addison-Wesley Longman, Reading (1999)Google Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    Mohagheghi, P.; Dehlen, V.: Existing model metrics and relations to model quality Software Quality. In: ICSE Workshop, pp. 39–45 (2009)Google Scholar
  17. 17.
    OMG Unified Modeling Language TM OMG UML, Version 2.4.1. http://www.omg.org/spec/UML/2.4.1 (2011)
  18. 18.
    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)CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Briand L.C., Labiche Y., O’Sullivan L., Sówka M.: Automated impact analysis of UML models. J. Syst. Softw. 79, 339–352 (2006)CrossRefGoogle Scholar
  24. 24.
    Egyed, A.: Fixing Inconsistencies in UML Design Models. In: Proceedings of the 29th International Conference on Software Engineering, pp. 292–301 (2007)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    Dam, H.K.; Ghose, A.: Towards rational and minimal change propagation in model evolution. CoRR. abs/1402.6046 (2014)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    Ganter B., Wille R.: Formal Concept Analysis: Mathematical Foundations. Springer, New York (1997)MATHGoogle Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Elaasar, M.; Briand, L.: An Overview of UML Consistency Management, Technical Report SCE-04-18, 1125 Colonel-By Drive, Ottawa, ON, August 24 (2004)Google Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    Spanoudakis G., Zisman A.: Inconsistency management in software engineering: survey and open research issues. Handb. Softw. Eng. Knowl. Eng. 1, 329–380 (2001)CrossRefGoogle Scholar
  34. 34.
    Lallchandani J.T., Mall R.: Static slicing of UML architectural models. J. Object Technol. 8(1), 159–188 (2009)CrossRefGoogle Scholar
  35. 35.
    Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object Oriented Software. Addisson-Wesley, Reading (1995)MATHGoogle Scholar
  36. 36.
    Chandra E., Linda P.: Class break point determination using CK metrics thresholds. Glob. J. Comput. Sci. Technol. 10, 73–77 (2010)Google Scholar
  37. 37.
    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)CrossRefGoogle Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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)CrossRefGoogle Scholar
  41. 41.
    Arnold R., Bohner S.: Change Impact Analysis, 1st edn. Wiley-IEEE Computer Society Press, New York (1996)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    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)
  44. 44.
    Russell, C.B.: An Example of Object-Oriented Design: An ATM Simulation, Gordon College, Copyright2004. http://www.math-cs.gordon.edu/courses/cs211/ATMExample/
  45. 45.
    Wohlin C., Runeson P., Höst M., Ohlsson M.C., Regnell B., Wesslén A.: Experimentation in Software Engineering. Kluwer, Norwell (2000)CrossRefMATHGoogle Scholar
  46. 46.
    Frakes W.B., Baeza-Yates R.: Information Retrieval: Data Structures and Algorithms. Prentice Hall, Englewood Cliffs (1992)Google Scholar

Copyright information

© King Fahd University of Petroleum & Minerals 2016

Authors and Affiliations

  • Dhikra Kchaou
    • 1
  • Nadia Bouassida
    • 1
  • Hanene Ben-Abdallah
    • 2
  1. 1.Mir@cl Laboratory Sfax UniversitySfaxTunisia
  2. 2.King Abdulaziz UniversityJeddahKSA

Personalised recommendations