arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1907.04797cs.SEcs.IR
收藏

设计师是否捕捉到了开发人员对质量的感知?自我肯定重构活动的实证研究

Do Design Metrics Capture Developers Perception of Quality? An Empirical Study on Self-Affirmed Refactoring Activities

Eman Abdullah AlOmar, Mohamed Wiem Mkaouer, Ali Ouni, Marouane Kessentini

摘要:

背景重构是软件维护中的一项关键任务,通常用于执行最佳设计和实现实践或处理设计缺陷。一些研究试图通过挖掘软件存储库来检测重构活动,从而收集、分析和获得有关软件项目中重构实践的可操作数据驱动见解。瞄准我们的目标是确定,在文献中提出的各种质量模型,更符合开发人员的质量优化的愿景,当他们明确提到,他们正在重构,以改善他们。法我们从3,795个策划的开源Java项目中提取了大量与设计相关的重构活动,这些活动由开发人员在日常更改中应用和记录。特别是,我们提取了一个大规模的语料库的结构度量和反模式增强的变化,从中我们确定了1,245质量改进提交与其相应的重构操作,由软件工程师认为。此后,我们实证分析这些重构操作对一组常见的最先进的设计质量指标的影响。结果对所得结果的统计分析表明:(i)一些最先进的指标比其他指标更受欢迎;(ii)一些指标比其他指标更受重视。结论.我们验证了有各种各样的结构度量,可以代表不同程度的改进和软件质量的退化的内部质量属性。映射到主要质量属性的大多数度量确实捕获了提交消息中报告的开发人员质量改进的意图。

英文摘要:

Background. Refactoring is a critical task in software maintenance and is generally performed to enforce the best design and implementation practices or to cope with design defects. Several studies attempted to detect refactoring activities through mining software repositories allowing to collect, analyze and get actionable data-driven insights about refactoring practices within software projects. Aim. We aim at identifying, among the various quality models presented in the literature, the ones that are more in-line with the developer's vision of quality optimization, when they explicitly mention that they are refactoring to improve them. Method. We extract a large corpus of design-related refactoring activities that are applied and documented by developers during their daily changes from 3,795 curated open source Java projects. In particular, we extract a large-scale corpus of structural metrics and anti-pattern enhancement changes, from which we identify 1,245 quality improvement commits with their corresponding refactoring operations, as perceived by software engineers. Thereafter, we empirically analyze the impact of these refactoring operations on a set of common state-of-the-art design quality metrics. Results. The statistical analysis of the obtained results shows that (i) a few state-of-the-art metrics are more popular than others; and (ii) some metrics are being more emphasized than others. Conclusions. We verify that there are a variety of structural metrics that can represent the internal quality attributes with different degrees of improvement and degradation of software quality. Most of the metrics that are mapped to the main quality attributes do capture developer intentions of quality improvement reported in the commit messages.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑