Skip to main content

Towards a Taxonomy of Software Maintainability Predictors: A Detailed View

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Networks and Systems ((LNNS,volume 470))

Abstract

To help practitioners and researchers choose the most suitable predictors when selecting from existing Software Product Maintainability Prediction (SPMP) models or designing new ones, a literature review of empirical studies on SPMP identified a large number of metrics or factors used as predictors of maintainability. However, there is a redundancy and ambiguity in both the naming and meaning of these predictors. To address this terminology issue, a one-level taxonomy of the SPMP predictors identified in the literature review have been proposed. This paper now proposes a more detailed two-level taxonomy where the first level refers to four categories, namely, software design, software size, quality attributes (or factors), and software process, the second to sub-categories, and predictors inventoried from empirical studies on SPMP.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   229.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   299.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Bourque, P., Fairley, R.E., et al.: Guide to the software engineering body of knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press (2014)

    Google Scholar 

  2. ISO/IEC 25010:2011 Systems and software engineering—Systems and software Quality Requirements and Evaluation (SQuaRE)—System and software quality models. Geneva, Switzerland (2011)

    Google Scholar 

  3. Glass, R.L., Noiseux, R.A.: Software Maintenance Guidebook. Prentice Hall, Englewood Cliffs (1981)

    Google Scholar 

  4. Jones, C., Jones, C.: Assessment and Control of Software Risks. Yourdon Press, New York (1994)

    Google Scholar 

  5. Pigoski, T.M.: Practical Software Maintenance: Best Practices for Managing Your Software Investment. Wiley, New York (1996)

    Google Scholar 

  6. Bandi, R.K., Vaishnavi, V.K., Turk, D.E.: Predicting maintenance performance using object-oriented design complexity metrics. IEEE Trans. Softw. Eng. 29, 77–87 (2003)

    Article  Google Scholar 

  7. Srinivasan, K.P., Devi, T.: A novel software metrics and software coding measurement in software engineering. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 4, 303–308 (2014)

    Google Scholar 

  8. Elmidaoui, S., Cheikhi, L., Idri, A., Abran, A.: Empirical studies on software product maintainability prediction: a systematic mapping and review. e-Inf. Softw. Eng. J. 13, 141–202 (2019)

    Google Scholar 

  9. Elmidaoui, S., Cheikhi, L., Idri, A.: Accuracy comparison of empirical studies on software product maintainability prediction. In: Rocha, Á., Adeli, H., Reis, L.P., Costanzo, S. (eds.) WorldCIST’18 2018. AISC, vol. 746, pp. 26–35. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77712-2_3

    Chapter  Google Scholar 

  10. Elmidaoui, S., Cheikhi, L., Idri, A.: Towards a taxonomy of software maintainability predictors. In: Rocha, Á., Adeli, H., Reis, L.P., Costanzo, S. (eds.) WorldCIST’19 2019. AISC, vol. 930, pp. 823–832. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-16181-1_77

    Chapter  Google Scholar 

  11. Saraiva, J., Soares, S., Castor, F.: Towards a catalog of Object-Oriented Software Maintainability metrics. In: 2013 4th International Workshop on Emerging Trends in Software Metrics (WETSoM), pp. 84–87 (2013)

    Google Scholar 

  12. e Abreu, F.B., Carapuça, R.: Candidate metrics for object-oriented software within a taxonomy framework. J. Syst. Softw. 26, 87–96 (1994)

    Google Scholar 

  13. Archer, C., Stinson, M.: Object-Oriented Software Measures. Technical report CMU/SEI-95-TR-002, ESC-TR-95–002 (1995)

    Google Scholar 

  14. Saraiva, J., et al.: Classifying metrics for assessing Object-Oriented Software Maintainability: a family of metrics’ catalogs. J. Syst. Software 103, 85–101 (2015)

    Article  Google Scholar 

  15. Halstead, M.H.: Elements of Software Science. Elsevier Science Inc., New York (1977)

    MATH  Google Scholar 

  16. McCabe, T.J.: A complexity measure. IEEE Trans. Software Eng. SE-2, 308–320 (1976)

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

  18. Cheikhi, L., Al-Qutaish, R.E., Idri, A., Sellami, A.: Chidamber and kemerer object-oriented measures: analysis of their design from the metrology perspective. Int. J. Softw. Eng. Appl. 8, 359–374 (2014)

    Google Scholar 

  19. Li, W., Henry, S.: Object-oriented metrics that predict maintainability. J. Syst. Softw. 23, 111–122 (1993)

    Article  Google Scholar 

  20. Thwin, M.M.T., Quah, T.S.: Application of neural networks for estimating software maintainability using object-oriented metrics. In: International Conference on Software Engineering and Knowledge Engineering, pp. 69–73 (2003)

    Google Scholar 

  21. Van Koten, C., Gray, A.R.: An application of Bayesian network for predicting object-oriented software maintainability. Inf. Softw. Technol. 48, 59–67 (2006)

    Article  Google Scholar 

  22. Zhou, Y., Leung, H.: Predicting object-oriented software maintainability using multivariate adaptive regression splines. J. Syst. Softw. 80, 1349–1361 (2007)

    Article  Google Scholar 

  23. Dubey, S.K., Rana, A.: A fuzzy approach for evaluation of maintainability of object oriented software system. Int. J. Comput. Appl. 49, 1–6 (2012)

    Google Scholar 

  24. Zhou, Y., Xu, B.: Predicting the maintainability of open source software using design metrics. Wuhan Univ. J. Nat. Sci. 13, 14–20 (2008)

    Article  Google Scholar 

  25. Misra, S., Egoeze, F.: Framework for maintainability measurement of web application for efficient knowledge-sharing on campus intranet. In: Murgante, B., et al. (eds.) ICCSA 2014. LNCS, vol. 8583, pp. 649–662. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09156-3_45

    Chapter  Google Scholar 

  26. Cheikhi, L., Abran, A.: Investigation of the relationships between the software quality models of the ISO 9126 standard: an empirical study using the Taguchi method. Softw. Qual. Profess. 14 (2012)

    Google Scholar 

  27. Akram, M., Mandala, S., R, M.: A literature review on various software metric. Int. J. Res. Appl. Sci. Eng. Technol. 4, 529–535 (2016)

    Google Scholar 

  28. Albrecht, A.J.: Measuring application development productivity. In: Joint Share, Guide and IBM Application Development Symposium, pp. 83–92 (1979)

    Google Scholar 

  29. Rains, E.: Function points in an ada object-oriented design? SIGPLAN OOPS Mess. 2, 23–25 (1991)

    Article  Google Scholar 

  30. ISO/IEC 20926, Software Engineering - IFPUG Unadjusted Functional Size Measurement Method. (1994)

    Google Scholar 

  31. Fpa, M.I.: United Kingdom Software Metrics Association (UKSMA) MK II function point analysis counting practices manual (1998)

    Google Scholar 

  32. NESMA, D.: Definitions and Counting Guidelines for the Application of Function Point analysis: a practical manual (1997)

    Google Scholar 

  33. ISO/IEC 19761 Software Engineering-Cosmic-FFP-a Functional Size Measurement Method. International Organization for Standardization_ISO, Geneva. 70 (2003)

    Google Scholar 

  34. Dumke, R., Abran, A.: COSMIC Function Points: Theory and Advanced Practices. Auerbach Publications (2016)

    Google Scholar 

  35. Jin, X., Liu, Y., Ren, J., Xu, A., Bie, R.: Locality preserving projection on source code metrics for improved software maintainability. In: Sattar, A., Kang, B.(eds.) AI 2006. LNCS (LNAI), vol. 4304, pp. 877–886. Springer, Heidelberg (2006). https://doi.org/10.1007/11941439_92

    Chapter  Google Scholar 

  36. Muthanna, S., Kontogiannis, K., Ponnambalam, K., Stacey, B.: A maintainability model for industrial software systems using design level metrics. In: 7th Working Conference on Reverse Engineering, pp. 248–256 (2000)

    Google Scholar 

  37. McCall, J.A., Richards, P.K., Walters, G.F.: Factors in software quality, volumes I, II, and III. US Rome Air Development Center Reports, US Department of Commerce, USA. (1977)

    Google Scholar 

  38. Boehm, B.W., Brown, J.R., Kaspar, H., Lipow, M., Merritt, M.: Characteristics of software quality (1978)

    Google Scholar 

  39. Dromey, R.G.: Concerning the Chimera- software quality. IEEE Softw. 13, 33–43 (1996)

    Article  Google Scholar 

  40. 9126–1, I.: ISO. 2001. Information Technology - Product Quality - Part 1: Quality model . ISO/IEC 9126–1, Geneva, Switzerland (2001)

    Google Scholar 

  41. ISO/IEC TR 9126–2:2003 Software engineering—Product quality—Part 2: External metrics, Geneva, Switzerland (2003)

    Google Scholar 

  42. ISO/IEC TR 9126–3:2003 Software engineering—Product quality—Part 3: Internal metrics, Geneva, Switzerland (2003)

    Google Scholar 

  43. ISO/IEC TR 9126–4:2004 Software engineering—Product quality—Part 4: quality in use metrics, Geneva, Switzerland (2004)

    Google Scholar 

  44. Sharma, A., Grover, P.S., Kumar, R.: Predicting maintainability of component-based systems by using fuzzy logic. In: Ranka, S., et al. (eds.) IC3 2009. CCIS, vol. 40, pp. 581–591. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03547-0_55

    Chapter  Google Scholar 

  45. Pratap, A., Chaudhary, R., Yadav, K.: Estimation of software maintainability using fuzzy logic technique. In: 2014 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT). pp. 486–492 (2014)

    Google Scholar 

  46. Team, C.P.: CMMI for Development, version 1.2. (2006)

    Google Scholar 

  47. Hayes, J.H., Zhao, L.: Maintainability prediction: a regression analysis of measures of evolving systems. In: 21st IEEE International Conference on Software Maintenance (ICSM 2005), pp. 601–604 (2005)

    Google Scholar 

  48. Sandhya, T., Anuradha, C.: Sequencing of refactoring techniques by Greedy algorithm for maximizing maintainability. In: 2016 International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 1397–1403 (2016)

    Google Scholar 

  49. Geeta, L., Kavita, A., Rizwan, B.: Maintainability measurement model for object oriented design. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 4, 945–956 (2014)

    Google Scholar 

  50. Cheikhi, L.: Modèles de Qualité du Logiciel: Estimation de l’Impact du Changement dans les Programmes Orientés Objets en utilisant les Algorithmes d’Apprentissage. Editions universitaires europeennes (2011)

    Google Scholar 

  51. Al Dallal, J.: Object-oriented class maintainability prediction using internal quality attributes. Inf. Softw. Technol. 55, 2028–2048 (2013)

    Article  Google Scholar 

  52. Dhankhar, P., Mittal, H., Mittal, A.: Maintainability prediction for object oriented software. Int. J. Adv. Eng. Sci. 1, 8–11 (2011)

    Google Scholar 

  53. Pham, H.: System Software Reliability. Springer, London (2007). https://doi.org/10.1007/1-84628-295-0

  54. Abreu, F.B., Carapuça, R.: Object-Oriented Software Engineering: Measuring and Controlling the Development Process (1994)

    Google Scholar 

  55. Booch, Grady., Grady: Object-Oriented Analysis and Design with Applications. Benjamin/Cummings Pub. Co., Redwood City (1994)

    Google Scholar 

  56. Kuljit, K., Singh, H.: Analyzing software evolution using the mood metric set. Int. J. Adv. Res. Comput. Sci. 2, 509–512 (2011)

    Google Scholar 

  57. Misra, S.C.: Modeling design/coding factors that drive maintainability of software systems. Software Qual. J. 13, 297–320 (2005)

    Article  Google Scholar 

  58. Kiewkanya, M., Jindasawat, N., Muenchaisri, P.: A methodology for constructing maintainability model of object-oriented design. In: 4th International Conference onQuality Software, QSIC, pp. 206–213 (2004)

    Google Scholar 

  59. Genero, M., Piattini, M., Manso, E., Cantone, G.: Building UML class diagram maintainability prediction models based on early metrics. In: 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No. 03EX717), pp. 263–275 (2003)

    Google Scholar 

  60. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, B.: Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs (1991)

    MATH  Google Scholar 

  61. Genero, M., Piattini, M.: Empirical validation of measures for class diagram structural complexity through controlled experiments. In: 5th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (2001). https://doi.org/10.1007/3-540-47853-1_15

  62. Rosenberg, D., Scott, K.: Applying Use Case Driven Object Modeling with UML: An Anotated E-commerce Example. Addison-Wesley, Upper Saddle River (2001)

    Google Scholar 

  63. OUP: Oxford Dictionaries. Oxford University Press, Oxford (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laila Cheikhi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Elmidaoui, S., Cheikhi, L., Idri, A., Abran, A. (2022). Towards a Taxonomy of Software Maintainability Predictors: A Detailed View. In: Rocha, A., Adeli, H., Dzemyda, G., Moreira, F. (eds) Information Systems and Technologies. WorldCIST 2022. Lecture Notes in Networks and Systems, vol 470. Springer, Cham. https://doi.org/10.1007/978-3-031-04829-6_18

Download citation

Publish with us

Policies and ethics