TY - JOUR
T1 - CODE reuse in practice
T2 - Benefiting or harming technical debt
AU - Feitosa, Daniel
AU - Ampatzoglou, Apostolos
AU - Gkortzis, Antonios
AU - Bibi, Stamatia
AU - Chatzigeorgiou, Alexander
PY - 2020/9
Y1 - 2020/9
N2 - During the last years the TD community is striving to offer methods and tools for reducing the amount of TD, but also understand the underlying concepts. One popular practice that still has not been investigated in the context of TD, is software reuse. The aim of this paper is to investigate the relation between white-box code reuse and TD principal and interest. In particular, we target at unveiling if the reuse of code can lead to software with better levels of TD. To achieve this goal, we performed a case study on approximately 400 OSS systems, comprised of 897 thousand classes, and compare the levels of TD for reused and natively-written classes. The results of the study suggest that reused code usually has less TD interest; however, the amount of principal in them is higher. A synthesized view of the aforementioned results suggest that software engineers shall opt to reuse code when necessary, since apart from the established reuse benefits (i.e., cost savings, increased productivity, etc.) are also getting benefits in terms of maintenance. Apart from understanding the phenomenon per se, the results of this study provide various implications to research and practice.
AB - During the last years the TD community is striving to offer methods and tools for reducing the amount of TD, but also understand the underlying concepts. One popular practice that still has not been investigated in the context of TD, is software reuse. The aim of this paper is to investigate the relation between white-box code reuse and TD principal and interest. In particular, we target at unveiling if the reuse of code can lead to software with better levels of TD. To achieve this goal, we performed a case study on approximately 400 OSS systems, comprised of 897 thousand classes, and compare the levels of TD for reused and natively-written classes. The results of the study suggest that reused code usually has less TD interest; however, the amount of principal in them is higher. A synthesized view of the aforementioned results suggest that software engineers shall opt to reuse code when necessary, since apart from the established reuse benefits (i.e., cost savings, increased productivity, etc.) are also getting benefits in terms of maintenance. Apart from understanding the phenomenon per se, the results of this study provide various implications to research and practice.
KW - Case study
KW - Reuse
KW - Technical debt
KW - SOFTWARE REUSE
KW - MAINTAINABILITY
KW - PRODUCTIVITY
KW - QUALITY
KW - PERCEPTION
KW - METRICS
UR - http://www.scopus.com/inward/record.url?scp=85085600238&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2020.110618
DO - 10.1016/j.jss.2020.110618
M3 - Article
AN - SCOPUS:85085600238
VL - 167
JO - Journal of Systems and Software
JF - Journal of Systems and Software
SN - 0164-1212
M1 - 110618
ER -