Article Preview
Top1. Introduction
The measurement of software metrics (Fenton et al., 2002) helps in analyzing and evaluating the Open Source Software (OSS) projects. The development paradigm (Feller & Fitzgerald, 2000) of OSS projects raises many questions when compared with that of proprietary software projects (Tapscott & Caston, 1993). Moreover, in recent times the shift is observed in the software development paradigm from proprietary software to the OSS development paradigm (Tapscott & Caston, 1993). The software quality is one of the major concerns, while the developer proposes or use the OSS development model. Many researchers have performed the fine-grained (Pascarella et al., 2019) as well as coarse-grained (Zendler et al., 2001) analysis to tackle the quality issue of the OSS development. The quality of software determines the strength of software in terms of low defect density (Slaughter et al., 1998) and ultimately it will decide the success or the failure of the OSS project (Lee et al., 2009). The software metrics obtained from the source code measures the different aspects of software development. These metrics help in evaluating the strength and the weakness of the code such as it is observed that as the software evolves the complexity of the software project increases (Daniel et al., 2009).
Quah & Thwin (2003) predicted the software metrics (number of defects and the number of lines changes) for object-oriented software projects. In the present study, we aim to extend the work of Quah & Thwin (2003) by performing the prediction of coupling metrics of object-oriented OSS projects. The coupling is the measure of the inter-module dependency or association (Allen et al., 2001). For quality software development, we expect to have low coupling between the modules. The coupling helps in quantifying internal software quality (Offutt et al., 1993). Sousa et al. (2019) analyzed the evolution behavior of coupling and evaluated the effect of coupling on software reusability and complexity. They observed an increase in the complexity of the system with coupling evolution. In this similar context of working, we extended the work of Sousa et al. (2019) to propose the general model for the prediction of software coupling metrics. We have investigated the Comets datasetα using multiple machine learning prediction algorithms and provided a comparison for all these models. The prediction of the coupling allows the developers, project managers, and other stakeholders to better understating the state of software health. Moreover, it will provide information to understand the software evolution behavior. The coupling prediction for the other object-oriented metrics of the Comets dataset intimates the project manager to perform perfective or preventive maintenance activities. This prediction will provide the measure of one dimension of internal software quality. Further, the composite analysis is performed to analyze the pattern existing in the evolution of different object-oriented metrics of OSS projects. The pattern analysis using advanced machine learning algorithms helps in nudging the mute existence of relationship patterns among the software metrics. It will allow analyzing the effect of the coupling metric on other software metrics (size and complexity metrics).
In general, we aim to achieve the following objectives:
- 1.
Examine the relationships among the coupling metrics and other metrics (size and complexity metrics).
- 2.
Analyze the pattern in the growth of different software metrics.
- 3.
Propose a model for the prediction of software coupling metrics (fan-in and fan-out).
The rest of the paper is organized as follows. Section 2 presents related work. Section 3 explains the analysis methodology. Section 4 presents the results and discussion on the outcomes. The last section concludes the paper and provides future directions.