Skip to main content
Log in

A metrics suite for UML model stability

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Software metrics have become an essential part of software development because of their importance in estimating cost, effort, and time during the development phase. Many metrics have been proposed to assess different software quality attributes, including stability. A number of software stability metrics have been proposed at the class, architecture, and system levels. However, these metrics typically target the source code. This paper proposes a software stability metrics suite at the model level for three UML diagrams: class, use case, and sequence. These three diagrams represent the most common diagrams in the three UML views: structural, functional, and behavioral. We introduce a client–master assessment approach to avoid measurement duplication. We also theoretically and empirically validate the proposed metrics suite. We also provide examples to demonstrate the use of the proposed metrics and their application as indicators of software stability.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28

Similar content being viewed by others

References

  1. Li, W.: Software product metrics. IEEE Potentials 18, 24–27 (1999)

    Article  Google Scholar 

  2. Galorath, D.D.: Software total ownership costs: development is only job one. Softw. Tech. News 11(3), 23–32 (2008)

  3. Chen, J.-C., Huang, S.-J.: An empirical analysis of the impact of software development problem factors on software maintainability. J. Syst. Softw. 82, 981–992 (2009)

    Article  Google Scholar 

  4. ISO: ISO/IEC 25010:2011: systems and software engineering–systems and software quality requirements and evaluation (SQuaRE)–system and software quality models (2011)

  5. Grosser, D., Sahraoui, H., Valtchev, P.: Predicting software stability using case-based reasoning. In: Proceedings of the 17th IEEE International Conference on Automated Software Engineering, Edinburgh, UK, pp. 295–298 (2002)

  6. Grosser, D., Sahraoui, H.A., Valtchev, P.: An analogy-based approach for predicting design stability of Java classes. In: Proceedings of the Ninth IEEE international Software Metrics Symposium, pp. 252–262 (2003)

  7. Rapu, D., Ducasse, S., Girba, T., Marinescu, R.: Using history information to improve design flaws detection. In: Proceedings of the Eighth European Conference on Software Maintenance and Reengineering, CSMR 2004, pp. 223–232 (2004)

  8. Li, W., Etzkorn, L., Davis, C., Talburt, J.: An empirical study of object-oriented system evolution. Inf. Softw. Technol. 42, 373–381 (2000)

    Article  Google Scholar 

  9. Alshayeb, M., Naji, M., Elish, M.O., Al-Ghamdi, J.: Towards measuring object-oriented class stability. IET Softw. 5, 415–424 (2011)

    Article  Google Scholar 

  10. Farias, K., Garcia, A., Lucena, C.: Effects of stability on model composition effort: an exploratory study. Softw. Syst. Model. 13, 1473–1494 (2014)

    Article  Google Scholar 

  11. Azar, D., Harmanani, H., Korkmaz, R.: Predicting stability of classes in an object-oriented system. J. Comput. Methods Sci. Eng. 10, 39–49 (2010)

    Google Scholar 

  12. Alshayeb, M., Eisa, Y., Ahmed, M.A.: Object-oriented class stability prediction: a comparison between artificial neural network and support vector machine. Arab. J. Sci. Eng. 39, 7865–7876 (2014)

    Article  Google Scholar 

  13. Unified Modeling Language: Superstructure, Ver. 2.4.1, OMG document formal/2011-08-06, Object Management Group (OMG). http://www.omg.org/spec/UML/2.4.1/. Accessed 14 May 2016

  14. Misbhauddin, M., Alshayeb, M.: UML model refactoring: a systematic literature review. Empir. Softw. Eng. 20, 206–251 (2013)

    Article  Google Scholar 

  15. Sethi, K., Cai, Y., Wong, S., Garcia, A., Sant’Anna, C.: From retrospect to prospect: assessing modularity and stability from software architecture. In: Joint Working IEEE/IFIP Conference on Software Architecture, 2009 European Conference on Software Architecture. WICSA/ECSA 2009, pp. 269–272 (2009)

  16. Molesini, A., Garcia, A., von Chavez, C.F.G., Batista, T.V.: Stability assessment of aspect-oriented software architectures: a quantitative study. J. Syst. Softw. 83, 711–722 (2010)

    Article  Google Scholar 

  17. Tonu, S.A., Ashkan, A., Tahvildari, L.: Evaluating architectural stability using a metric-based approach. In: Proceedings of the 10th European Conference on Software Maintenance and Reengineering, CSMR 2006, pp. 10–270 (2006)

  18. Jazayeri, M.: On architectural stability and evolution. In: Blieberger, J., Strohmeier, A. (eds.) Reliable Software Technologies—Ada-Europe 2002, pp. 13–23. Springer, Berlin (2002)

    Chapter  Google Scholar 

  19. Bansiya, J.: Evaluating framework architecture structural stability. ACM Comput. Surv. 32, 1–18 (2000)

  20. Mattsson, M., Bosch, J.: Characterizing stability in evolving frameworks. Proc. Technol. Object Oriented Lang. Syst. 1999, 118–130 (1999)

    Google Scholar 

  21. Hassan, Y.S.: Measuring software architectural stability using retrospective analysis. Master’s Thesis, King Fahd University of Petroleum and Minerals, Dhahran, Saudi Arabia (2007)

  22. Aversano, L., Molfetta, M., Tortorella, M.: Evaluating architecture stability of software projects. In: 2013 20th Working Conference on Reverse Engineering (WCRE), pp. 417–424 (2013)

  23. Alshayeb, M.: On the relationship of class stability and maintainability. IET Softw. 7, 339–347 (2013)

    Article  Google Scholar 

  24. Elish, M.O., Rine, D.: Indicators of structural stability of object-oriented designs: a case study. In: Software Engineering Workshop, 29th Annual IEEE/NASA, pp. 183–192 (2005)

  25. Raemaekers, S., van Deursen, A., Visser, J.: Measuring software library stability through historical version analysis. In: 2012 28th IEEE International Conference on Software Maintenance (ICSM), pp. 378–387 (2012)

  26. Kelly, D.: A study of design characteristics in evolving software using stability as a criterion. IEEE Trans. Softw. Eng. 32(5), 315–329 (2006)

  27. Yau, S.S., Collofello, J.S.: Some stability measures for software maintenance. IEEE Trans. Softw. Eng. SE–6, 545–552 (1980)

    Article  Google Scholar 

  28. Ma, H., Shao, W., Zhang, L., Ma, Z., Jiang, Y.: Applying OO metrics to assess UML meta-models. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) The Unified Modeling Language, Modeling Languages and Applications, pp. 12–26. Springer, Berlin (2004)

    Google Scholar 

  29. Martin, R.C., Martin, M.: Agile Principles, Patterns, and Practices in C#

  30. Mattsson, M., Bosch, J.: Stability assessment of evolving industrial object-oriented frameworks. J. Softw. Maint. Res. Pract. 12, 79–102 (2000)

    Article  Google Scholar 

  31. Elish, M.O., Rine, D.: Investigation of metrics for object-oriented design logical stability. In: Proceedings of the Seventh European Conference on Software Maintenance and Reengineering, pp. 193–200 (2003)

  32. Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Softw. Eng. 20, 476–493 (1994)

    Article  Google Scholar 

  33. Alshayeb, M., Li, W.: An empirical study of system design instability metric and design evolution in an agile software process. J. Syst. Softw. 74, 269–274 (2005)

    Article  Google Scholar 

  34. Olague, H.M., Etzkorn, L.H., Li, W., Cox, G.: Assessing design instability in iterative (agile) object-oriented projects. J. Softw. Maint. Evol. Res. Pract. 18, 237–266 (2006)

    Article  Google Scholar 

  35. Hennicker, R., Koch, N.: Systematic design of Web applications with UML. In: Unified Modeling Language, pp. 1–20. IGI Publishing Hershey, PA, USA (2001)

  36. Berner, S., Glinz, M., Joos, S.: A classification of stereotypes for object-oriented modeling languages. Presented at the Proceedings of the 2nd International Conference on the Unified Modeling Language: Beyond the Standard, Fort Collins, CO, USA (1999)

  37. Briand, L., El Emam, K., Morasca, S.: Theoretical and empirical validation of software product measures. International Software Engineering Research Network, Technical Report ISERN-95-03 (1995)

  38. El-Emam, K.: A methodology for validating software product metrics Tech. rep. NCR/ERC-1076. National Research Council of Canada, Ottawa (2000)

  39. Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach. PWS Publishing Co, Boston (1998)

    Google Scholar 

  40. Srinivasan, K., Devi, T.: Software metrics validation methodologies in software engineering. Int. J. Softw.Eng. Appl. 5(6), 87–102 (2014)

  41. Briand, L.C., Daly, J.W., Wust, J.: A unified framework for cohesion measurement in object-oriented systems. In: Proceedings of the Fourth International Software Metrics Symposium, pp. 43–53 (1997)

  42. Briand, L., Morasca, S., Basili, V.: Property-based software engineering measurement. IEEE Trans. Softw. Eng. 22, 68–86 (1996)

    Article  Google Scholar 

  43. Weyuker, E.J.: Evaluating software complexity measures. IEEE Trans. Softw. Eng. 14, 1357–1365 (1988)

    Article  MathSciNet  Google Scholar 

  44. Kitchenham, B., Pfleeger, S.L., Fenton, N.: Towards a framework for software measurement validation. IEEE Trans. Softw. Eng. 21, 929–944 (1995)

    Article  Google Scholar 

  45. ISO: ISO/IEC 25010:2011: systems and software engineering—systems and software quality requirements and evaluation (2011)

  46. Jedlitschka, A., Ciolkowski, M., Pfahl, D.: Reporting experiments in software engineering. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 201–228. Springer, London (2008)

    Chapter  Google Scholar 

  47. Evans, J.: Straightforward Statistics for the Behavioral Sciences. Brooks/Cole Publishing, Salt Lake City (1996)

    Google Scholar 

Download references

Acknowledgements

The authors would like to acknowledge the support provided by King Abdul-Aziz City for Science and Technology (KACST) through the Science & Technology Unit at King Fahd University of Petroleum & Minerals (KFUPM) for funding this work through project no. 12-INF3012-04 as part of the National Science, Technology and Innovation Plan.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohammad Alshayeb.

Additional information

Communicated by Dr. Timothy Lethbridge.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

AbuHassan, A., Alshayeb, M. A metrics suite for UML model stability. Softw Syst Model 18, 557–583 (2019). https://doi.org/10.1007/s10270-016-0573-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0573-6

Keywords

Navigation