当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the adoption and effects of source code reuse on defect proneness and maintenance effort
Empirical Software Engineering ( IF 4.1 ) Pub Date : 2023-12-12 , DOI: 10.1007/s10664-023-10408-6
Giammaria Giordano , Gerardo Festa , Gemma Catolino , Fabio Palomba , Filomena Ferrucci , Carmine Gravino

Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design that 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. However, our research identifies two noticeable limitations of the current literature. First, still little is known about the extent to which developers actually employ code reuse mechanisms over time. Second, it is still unclear how these mechanisms may contribute to explaining defect-proneness and mainten0ance effort during software evolution. We aim at bridging this gap of knowledge, as an improved understanding of these aspects might provide insights into the actual support provided by these mechanisms, e.g., by suggesting whether and how to use them for prediction purposes. We propose an exploratory study, conducted on 12 Java projects–over 44,900 commits–of the Defects4J dataset, aiming at (1) assessing how developers use inheritance and delegation during software evolution; and (2) statistically analyzing the impact of inheritance and delegation on fault proneness and maintenance effort. Our results let emerge various usage patterns that describe the way inheritance and delegation vary over time. In addition, we find out that inheritance and delegation are statistically significant factors that influence both source code defect-proneness and maintenance effort.



中文翻译:

关于源代码重用的采用及其对缺陷倾向和维护工作的影响

软件可重用机制(例如面向对象编程中的继承和委托)被广泛认为是软件设计的关键工具,除了减少维护和改进源代码所需的工作量之外,还可以降低源代码受缺陷影响的风险。以前的工作传统上采用源代码重用度量来进行预测,例如在缺陷预测的背景下。然而,我们的研究发现了当前文献的两个明显的局限性。首先,随着时间的推移,人们对开发人员实际使用代码重用机制的程度仍然知之甚少。其次,目前还不清楚这些机制如何有助于解释软件演化过程中的缺陷倾向和维护工作。我们的目标是弥合这一知识差距,因为对这些方面的更好的理解可能会提供对这些机制提供的实际支持的见解,例如,通过建议是否以及如何将它们用于预测目的。我们提出了一项探索性研究,对Defects4J数据集的 12 个Java项目(超过 44,900 次提交)进行,旨在 (1) 评估开发人员在软件演化过程中如何使用继承和委托;(2)统计分析继承和委托对故障倾向和维护工作量的影响。我们的结果让出现了各种使用模式,描述了继承和委托随时间变化的方式。此外,我们发现继承和委托是影响源代码缺陷倾向和维护工作的统计显着因素。

更新日期:2023-12-14
down
wechat
bug