Research Article | Open Access | Download PDF
Volume 74 | Issue 8 | Year 2026 | Article Id. IJCTT-V74I8P109 | DOI : https://doi.org/10.14445/22312803/IJCTT-V74I8P109Enhancing Software Maintainability in Object-Oriented Systems: An Empirical Study of Inheritance, Function Overriding and Function Overloading
Ramveer Gurjar
| Received | Revised | Accepted | Published |
|---|---|---|---|
| 30 Jun 2026 | 31 Jul 2026 | 22 Aug 2026 | 31 Aug 2026 |
Citation :
Ramveer Gurjar, "Enhancing Software Maintainability in Object-Oriented Systems: An Empirical Study of Inheritance, Function Overriding and Function Overloading," International Journal of Computer Trends and Technology (IJCTT), vol. 74, no. 8, pp. 78-88, 2026. Crossref, https://doi.org/10.14445/22312803/IJCTT-V74I8P109
Abstract
Software metrics are widely used to improve the productivity and quality of software because they provide quantitative insight into the reliability and maintainability of a system. This paper presents a comparative empirical study of two closely related object-oriented (OO) polymorphism mechanisms — function overriding (used together with inheritance) and function overloading — and examines how each affects the run-time complexity, and therefore the maintainability, of Java programs. Two independent case studies were designed around a simple shape-area calculation problem. In the first case study, a class hierarchy that uses inheritance together with function overriding was compared against a functionally equivalent hierarchy that avoids overriding. In the second case study, a class that uses function overloading was compared against a functionally equivalent class that avoids overloading. Each program was executed repeatedly, and its running time was recorded using System.nanoTime(). The results show that, in both case studies, the version that uses the polymorphic construct (overriding or overloading) has a higher mean execution time and a higher Line-of-Code (LOC) count than its non-polymorphic counterpart, which is interpreted as an increase in run-time complexity. Since the complexity of this kind is a recognised proxy for maintenance effort, the paper argues that the convenience gained from overriding and overloading at design time carries a measurable maintainability cost that should be weighed explicitly during object-oriented design. The paper also reports a correction to an arithmetic labelling error present in the author's own earlier working data, recomputes the correct per-run averages, and discusses the threats to validity of the study together with directions for future work.
Keywords
Software Engineering, Software Maintainability, Object-Oriented Metrics, Inheritance, Function Overriding, Function Overloading, Polymorphism, Software Complexity, Lines of Code (LOC).
References
[1] V.S. Alagar, Li Qiaoyum,
and O.S. Ormandjieva, “Assessment of Maintainability in Object-Oriented
Software,” Proceedings of the 39th International Conference on
Technology of Object-Oriented Languages and Systems (TOOLS39), Santa
Barbara, CA, USA, pp. 194-205, 2001.
[CrossRef] [Google Scholar] [Publisher Link]
[2] SO/IEC 9126: Software
Engineering, 2025. [Online]. Available: https://www.geeksforgeeks.org/software-engineering/iso-iec-9126-in-software-engineering/
[3] S.R. Chidamber, and C.F.
Kemerer, “A Metrics Suite for Object Oriented Design,” IEEE Transactions on
Software Engineering, vol. 20, no. 6, pp. 476-493, 1994.
[CrossRef] [Google Scholar] [Publisher Link]
[4] Fernando Brito e Abreu, and
Rogerio Carapuça, “Candidate Metrics for Object-Oriented Software within a
Taxonomy Framework,” Journal of Systems and Software, vol. 26, no. 1,
pp. 87-96, 1994.
[CrossRef] [Google Scholar] [Publisher Link]
[5] Tom Gilb, “Designing
Maintainability in Software Engineering: A Quantified Approach,” International
Council on Systems Engineering, 2008.
[Google Scholar]
[6] Rikard Land, Measurements
of Software Maintainability, Proceedings of the 4th ARTES
Graduate Student Conference, pp. 1-7, 2002. [Online]. Available:
https://www.artes.uu.se/events/gsconf02/papers/Land_Maintainability.pdf
[7] Brian Henderson-Sellers, Object-Oriented
Metrics: Measures of Complexity, Prentice Hall, United States, 1995.
[Google Scholar] [Publisher Link]
[8] D.P. Darcy, and C.F.
Kemerer, “OO Metrics in Practice,” IEEE Software, vol. 22, no. 6, pp.
17-19, 2005.
[CrossRef] [Google Scholar] [Publisher Link]
[9] L.C. Briand, J.W. Daly, and
J.K. Wüst, “A Unified Framework for Coupling Measurement in Object-Oriented
Systems,” IEEE Transactions on Software Engineering, vol. 25, no. 1, pp.
91-121, 1999.
[CrossRef] [Google Scholar] [Publisher Link]
[10] S.W.A. Rizvi, and R.A.
Khan, “Maintainability Estimation Model for Object-Oriented Software in Design
Phase (MEMOOD),” Journal of Computing, vol. 2, no. 4, pp. 26-32, 2010.
[CrossRef] [Google Scholar] [Publisher Link]
[11] K. El Emam, “A Primer on
Object-Oriented Measurement,” Proceedings of the Seventh International
Software Metrics Symposium, London, UK, pp. 185-187, 2001.
[CrossRef] [Google Scholar] [Publisher Link]
[12] Mira Kajko-Mattsson et al.,
“A Model of Maintainability-Suggestion for Future Research,” Proceedings of
2006 International Conference on Software Engineering Research and Practice,
vol. 1, pp. 436-441, 2006.
[Publisher Link]
[13] Ilja Heitlager, Tobias
Kuipers, and Joost Visser, “A Practical Model for Measuring Maintainability,” 6th
International Conference on the Quality of Information and Communications
Technology (QUATIC 2007), Lisbon, Portugal, pp. 30-39, 2007.
[CrossRef] [Google Scholar] [Publisher Link]
[14] Bill Andreopoulos,
“Achieving Software Quality using the NFR Framework: Maintainability and
Performance,” Proceedings of the 3rd International Conference on
Computer Science, Software Engineering, Information Technology, e-Business, and
Applications, pp. 1-6, 2004.
[Google Scholar]
[15] Nary Subramanian, and
Lawerence Chung, “Software Architecture Adaptability: An NFR Approach,” Proceedings
of the 4th International Workshop on Principles of Software
Evolution (IWPSE), New York, United States, pp. 52-61, 2001.
[CrossRef] [Google Scholar] [Publisher Link]
[16] Anton Yrjönen, and Janne
Merilinna, “Extending the NFR Framework with Measurable Non-functional
Requirements,” Proceedings of the 2nd International Workshop on
Non-functional System Properties in Domain Specific Modeling Languages
(NFPinDSML), United States, 2010.
[Google Scholar] [Publisher Link]
[17] James M. Bieman, and
Josephine Xia Zhao, “Reuse through Inheritance: A Quantitative Study of C++
Software,” ACM SIGSOFT Software Engineering Notes, vol. 20, no. SI, pp.
47-52, 1995.
[CrossRef] [Google Scholar] [Publisher Link]
[18] M. Cartwright, and M.
Shepperd, “An Empirical Investigation of an Object-oriented Software System,” IEEE
Transactions on Software Engineering, vol. 26, no. 8, pp. 786-796, 2000.
[CrossRef] [Google Scholar] [Publisher Link]
[19] V.R. Basili, L.C. Briand,
and W.L. Melo, “A Validation of Object-oriented Design Metrics as Quality
Indicators,” IEEE Transactions on Software Engineering, vol. 22, no. 10,
pp. 751-761, 1996.
[CrossRef] [Google Scholar] [Publisher Link]
[20] John Daly et al.,
“Evaluating Inheritance Depth on the Maintainability of Object-oriented
Software,” Empirical Software Engineering, vol. 1, no. 2, pp. 109-132,
1996.
[CrossRef] [Google Scholar] [Publisher Link]
[21] F. Fioravanti, and P. Nesi,
“A Study on Fault-proneness Detection of Object-oriented Systems,” Proceedings
Fifth European Conference on Software Maintenance and Reengineering, Lisbon, Portugal, pp. 121-130, 2001.
[CrossRef] [Google Scholar] [Publisher Link]
[22] L.C. Briand, W.L. Melo, and
J. Wüst, “Assessing the Applicability of Fault-proneness Models Across
Object-oriented Software Projects,” IEEE Transactions on Software
Engineering, vol. 28, no. 7, pp. 706-720, 2002.
[CrossRef] [Google Scholar] [Publisher Link]
[23] Lionel C. Briand et al.,
“Exploring the Relationships between Design Measures and Software Quality in
Object-oriented Systems,” Journal of Systems and Software, vol. 51, no.
3, pp. 245-273, 2000.
[CrossRef] [Google Scholar] [Publisher Link]
[24] Ping Yu, T. Systä, and H.
Müller, “Predicting Fault-proneness using OO Metrics: An Industrial Case
Study,” Proceedings of the Sixth European Conference on Software Maintenance
and Reengineering, BudaPest, Hungary, pp. 99-107, 2002.
[CrossRef] [Google Scholar] [Publisher Link]
[25] C. Van Koten, and A.R.
Gray, “An Application of Bayesian Network for Predicting Object-oriented
Software Maintainability,” Information and Software Technology, vol. 48,
no. 1, pp. 59-67, 2006.
[CrossRef] [Google Scholar] [Publisher Link]
[26] Ruchika Malhotra, “A
Systematic Review of Machine Learning Techniques for Software Fault
Prediction,” Applied Soft Computing, vol. 27, pp. 504-518, 2015.
[CrossRef] [Google Scholar] [Publisher Link]
[27] Alisara Hincheeranan, and
Wanchai Rivepiboon, “A Maintainability Estimation Model and Tool,” International
Journal of Computer and Communication Engineering, vol. 1, no. 2, pp.
143-146, 2012.
[CrossRef] [Publisher Link]
[28] Jan Hannemann, and Gregor
Kiczales, “Design Pattern Implementation in Java and AspectJ,” Proceedings
of the 17th ACM SIGPLAN Conference Object-Oriented Programming,
Systems, Languages, and Applications (OOPSLA), Seattle, Washington, USA,
pp. 161-173, 2002.
[CrossRef] [Google Scholar] [Publisher Link]
[29] Jianjun Zhao, “Data-Flow-based
Unit Testing of Aspect-Oriented Programs,” Proceedings
27th Annual International Computer Software and Applications
Conference COMPAC 2003, Dallas, TX, USA, pp. 188-197, 2003.
[CrossRef] [Google Scholar] [Publisher Link]
[30] D. Mishra, and A. Mishra,
“Efficient Software Review Process for Small and Medium Enterprises,” IET
Software, vol. 1, no. 4, pp. 132-142, 2007.
[CrossRef] [Google Scholar] [Publisher Link]
[31] Tjasa Heričko, and Bostjan
Šumak, “Exploring Maintainability Index Variants for Software Maintainability
Measurement in Object-Oriented Systems,” Applied Sciences, vol. 13, no.
5, pp. 1-36, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[32] Gokul Yenduri, and Thippa
Reddy Gadekallu, “A Review on Soft Computing Approaches for Predicting
Maintainability of Software: State-of-the-art, Technical Challenges, and Future
Directions,” Expert Systems, vol. 40, no. 7, 2023.
[CrossRef] [Google Scholar] [Publisher Link]
[33] M. Debbabi et al., “Method
Call Acceleration in Embedded Java Virtual Machines,” Computational
Science-ICCS 2003: International Conference, Melbourne, Australia and St. Petersburg,
Russia, pp. 750-759, 2003.
[CrossRef] [Google Scholar] [Publisher Link]