On the Adoption and Effects of Source Code Reuse on Defect Proneness and Maintenance Effort
Giammaria Giordano, Gerardo Festa, Gemma Catolino, Fabio Palomba,, Filomena Ferrucci, Carmine Gravino

TL;DR
This study investigates how inheritance and delegation are used in Java projects and analyzes their impact on defect proneness and maintenance effort to better understand their role in software evolution.
Contribution
It provides empirical insights into the actual usage of reuse mechanisms and their effects on software quality and maintenance during evolution.
Findings
Inheritance and delegation usage varies over time.
Mechanisms influence defect proneness.
Mechanisms affect maintenance effort.
Abstract
Context. Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design. These are used to reduce the risks of source code being affected by defects, other than to reduce the effort required to maintain and evolve source code. Previous work has traditionally employed source code reuse metrics for prediction purposes, e.g., in the context of defect prediction. Objective. However, our research identifies two noticeable limitations of current literature. First, still little is known on the extent to which developers actually employ code reuse mechanisms over time. Second, it is still unclear how these mechanisms may contribute to explain defect-proneness and maintenance effort during software evolution. We aim at bridging this gap of knowledge, as an improved understanding of these aspects might…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Advanced Software Engineering Methodologies
