A Maintainability Framework to Ensure the Software Quality in Object-Oriented Programming - Rochimah, Siti; Hadiningrum, Tiara Rahmania; Mardiana, Bella Dwi; Siahaan, Daniel Oranova; Akbar, Rizky Januar; Shiddiqi, Ary Mazharuddin (IEEE access, 2025)
In recent years, there have been significant challenges in the attempt to improve modular structure and code reusability in software development. Software developers should ensure that refactoring not only addresses code smells and provides tangible improvements to software quality metrics. Although metric-based approaches allow for objective and systematic measurements, they have limitations. They cannot ascertain the effectiveness of refactoring techniques in terms of readability, code maintainability, and their impact on system performance and developer productivity. This study proposes mathematical formulations for five key metrics: Modularity (MMo-1-G, MMo-2-S), Analysability (MAn-2-S), Reusability (MRe-1-G), and Testability (MTe-1-G). These metrics were used to evaluate and verify the effectiveness of refactoring in improving module separability and code reuse rate. The proposed model is presented in mathematical notation to link the concepts of modularity and reusability with the corresponding refactoring implementation. Case studies were conducted by applying this formulation to various refactoring techniques aimed at addressing specific types of code smells. Based on the metrics analysis conducted on 17 types of code smell with 3 refactoring techniques, the results demonstrate an improvement in MMo-1-G by 11.46%, MMo-2-S by 0.8%, MAn-2-S by 1.2%, MRe-1-G by 0.82% and MTe-1-G by 3.07%. These findings demonstrate that the proposed formulation can be effectively applied to evaluate code quality changes after refactoring and provide more objective insights into code improvement decision-making.