TY - JOUR
T1 - A metadata driven process for assessing stability and reusability based on risk of change of software systems
AU - Mehboob, Bilal
AU - Chong, Chun Yong
N1 - Funding Information:
This work was carried out within the framework of the research project FRGS/1/2018/ICT01/MUSM/03/1 under the Fundamental Research Grant Scheme provided by the Ministry of Higher Education, Malaysia. Open access publishing facilitated by Monash University, as part of the Wiley ‐ Monash University agreement via the Council of Australian University Librarians.
Publisher Copyright:
© 2023 The Authors. Software: Practice and Experience published by John Wiley & Sons Ltd.
PY - 2023/5
Y1 - 2023/5
N2 - Measuring and estimating the reusability of software components are important steps toward finding reusable candidates. Reuse of software components can aid in the reduction of the development cost of new software or maintenance of existing ones. However, assessing the reusability of software is a challenging task. Even if reusable candidates can be identified, developers will need to decide on the reuse strategies, that is, reuse as it is without any modification, or introduce new changes to the reusable candidate to fulfill requirements in the new environment or releases. Thus, the stability of the reusable candidates plays a pivotal role because it will influence the ease of reuse. Assessing and predicting the stability of potential reusable candidates becomes a significant and important step in software reuse. In this research, we propose to leverage on risk of change as a proxy to measure software stability, where the latter is also a proxy measure for software reuse. Based on experiments conducted on 29 open-source software with different sizes and application types hosted on GitHub, we found that classes with high impact and high risk of change should be avoided from being reused due to their instability, while those classes with low impact and risk of change should be given priority. The proposed work can aid in providing a better understanding of the ease of reuse for software systems and can be used as a tool to assess its overall quality.
AB - Measuring and estimating the reusability of software components are important steps toward finding reusable candidates. Reuse of software components can aid in the reduction of the development cost of new software or maintenance of existing ones. However, assessing the reusability of software is a challenging task. Even if reusable candidates can be identified, developers will need to decide on the reuse strategies, that is, reuse as it is without any modification, or introduce new changes to the reusable candidate to fulfill requirements in the new environment or releases. Thus, the stability of the reusable candidates plays a pivotal role because it will influence the ease of reuse. Assessing and predicting the stability of potential reusable candidates becomes a significant and important step in software reuse. In this research, we propose to leverage on risk of change as a proxy to measure software stability, where the latter is also a proxy measure for software reuse. Based on experiments conducted on 29 open-source software with different sizes and application types hosted on GitHub, we found that classes with high impact and high risk of change should be avoided from being reused due to their instability, while those classes with low impact and risk of change should be given priority. The proposed work can aid in providing a better understanding of the ease of reuse for software systems and can be used as a tool to assess its overall quality.
UR - http://www.scopus.com/inward/record.url?scp=85147516953&partnerID=8YFLogxK
U2 - 10.1002/spe.3187
DO - 10.1002/spe.3187
M3 - Article
AN - SCOPUS:85147516953
SN - 0038-0644
VL - 53
SP - 1218
EP - 1248
JO - Software: Practice and Experience
JF - Software: Practice and Experience
IS - 5
ER -