Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics

Source code complexity of legacy object-oriented (OO) software has a trickle-down effect over the key activities of software development and maintenance. Package-based OO design is widely believed to be an effective modularization. Recently, theories and methodologies have been proposed to assess th...

Full description

Bibliographic Details
Published in:Mathematics
Main Authors: Mohsin Shaikh, Irfan Tunio, Jawad Khan, Younhyun Jung
Format: Article
Language:English
Published: MDPI AG 2024-07-01
Subjects:
Online Access:https://www.mdpi.com/2227-7390/12/14/2201
_version_ 1850335227501608960
author Mohsin Shaikh
Irfan Tunio
Jawad Khan
Younhyun Jung
author_facet Mohsin Shaikh
Irfan Tunio
Jawad Khan
Younhyun Jung
author_sort Mohsin Shaikh
collection DOAJ
container_title Mathematics
description Source code complexity of legacy object-oriented (OO) software has a trickle-down effect over the key activities of software development and maintenance. Package-based OO design is widely believed to be an effective modularization. Recently, theories and methodologies have been proposed to assess the complementary aspects of legacy OO systems through package-modularization metrics. These package-modularization metrics basically address non-API-based object-oriented principles, like encapsulation, commonality-of-goal, changeability, maintainability, and analyzability. Despite their ability to characterize package organization, their application towards cost-effective fault-proneness prediction is yet to be determined. In this paper, we present theoretical illustration and empirical perspective of non-API-based package-modularization metrics towards effort-aware fault-proneness prediction. First, we employ correlation analysis to evaluate the relationship between faults and package-level metrics. Second, we use multivariate logistic regression with effort-aware performance indicators (ranking and classification) to investigate the practical application of proposed metrics. Our experimental analysis over open-source Java software systems provides statistical evidence for fault-proneness prediction and relatively better explanatory power than traditional metrics. Consequently, these results guide developers for reliable and modular package-based software design.
format Article
id doaj-art-cd623c6ff88b4ef0aef1c185bcbc3df1
institution Directory of Open Access Journals
issn 2227-7390
language English
publishDate 2024-07-01
publisher MDPI AG
record_format Article
spelling doaj-art-cd623c6ff88b4ef0aef1c185bcbc3df12025-08-19T23:16:34ZengMDPI AGMathematics2227-73902024-07-011214220110.3390/math12142201Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization MetricsMohsin Shaikh0Irfan Tunio1Jawad Khan2Younhyun Jung3Department of Computer Science, The University of Larkano, Larkana 77062, PakistanDepartment of Electronics Engineering, The University of Larkano, Larkana 77062, PakistanSchool of Computing, Gachon University, Seongnam 13120, Republic of KoreaSchool of Computing, Gachon University, Seongnam 13120, Republic of KoreaSource code complexity of legacy object-oriented (OO) software has a trickle-down effect over the key activities of software development and maintenance. Package-based OO design is widely believed to be an effective modularization. Recently, theories and methodologies have been proposed to assess the complementary aspects of legacy OO systems through package-modularization metrics. These package-modularization metrics basically address non-API-based object-oriented principles, like encapsulation, commonality-of-goal, changeability, maintainability, and analyzability. Despite their ability to characterize package organization, their application towards cost-effective fault-proneness prediction is yet to be determined. In this paper, we present theoretical illustration and empirical perspective of non-API-based package-modularization metrics towards effort-aware fault-proneness prediction. First, we employ correlation analysis to evaluate the relationship between faults and package-level metrics. Second, we use multivariate logistic regression with effort-aware performance indicators (ranking and classification) to investigate the practical application of proposed metrics. Our experimental analysis over open-source Java software systems provides statistical evidence for fault-proneness prediction and relatively better explanatory power than traditional metrics. Consequently, these results guide developers for reliable and modular package-based software design.https://www.mdpi.com/2227-7390/12/14/2201software maintenancepackage-level code analysisfault-proneness prediction
spellingShingle Mohsin Shaikh
Irfan Tunio
Jawad Khan
Younhyun Jung
Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
software maintenance
package-level code analysis
fault-proneness prediction
title Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
title_full Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
title_fullStr Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
title_full_unstemmed Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
title_short Effort-Aware Fault-Proneness Prediction Using Non-API-Based Package-Modularization Metrics
title_sort effort aware fault proneness prediction using non api based package modularization metrics
topic software maintenance
package-level code analysis
fault-proneness prediction
url https://www.mdpi.com/2227-7390/12/14/2201
work_keys_str_mv AT mohsinshaikh effortawarefaultpronenesspredictionusingnonapibasedpackagemodularizationmetrics
AT irfantunio effortawarefaultpronenesspredictionusingnonapibasedpackagemodularizationmetrics
AT jawadkhan effortawarefaultpronenesspredictionusingnonapibasedpackagemodularizationmetrics
AT younhyunjung effortawarefaultpronenesspredictionusingnonapibasedpackagemodularizationmetrics