当前位置: X-MOL 学术Inf. Softw. Technol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Exploring software bug-proneness based on evolutionary clique modeling and analysis
Information and Software Technology ( IF 3.9 ) Pub Date : 2020-07-27 , DOI: 10.1016/j.infsof.2020.106380
Ran Mo , Zhen Yin

Context:

Even if evolutionary coupling between files has been widely used for various studies, such as change impact analysis, defect prediction, and software design analysis etc., there has little work focusing on studying the linkage among evolutionary coupled files.

Objective:

In this paper, we propose a novel model, evolutionary clique (EClique), to characterize evolutionary coupled files as maintainable groups for bug fixes, analyze their bug-proneness and examine the possible causes of the bug-proneness.

Methods:

To identify ECliques from a project, we propose two history measures to reason about the evolutionary coupling between files, and create a novel clustering algorithm. Given the evolutionary coupling information, our clustering algorithm will automatically identify ECliques in a project.

Results:

We conduct analyses on 33,099 commits of ten open source projects to evaluate the usefulness of our EClique modeling and analysis approach: (1) The results show that files involved in an EClique are more likely to share similar design characteristics and change together for resolving bugs; (2) The results also show that the identified ECliques significantly contribute to a project’s bug-proneness. Meanwhile, the majority of a project’s bug-proneness can be captured by just a few ECliques which only contain a small portion of files; (3) Finally, we qualitatively demonstrate that bug-prone ECliques often exhibit design problems that propagate changes among files and can potentially be the causes of bug-proneness.

Conclusion:

To reduce the bug-proneness of a software project, practitioners should pay attention to the identified ECliques, and resolve design problems embedded in these ECliques.



中文翻译:

基于进化集团建模和分析的软件易错性

内容:

即使文件之间的演化耦合已广泛用于各种研究,例如变更影响分析,缺陷预测和软件设计分析等,但很少有工作致力于研究演化耦合文件之间的链接。

目的:

在本文中,我们提出了一种新颖的模型,进化派系(EClique),以将进化耦合文件表征为可修复的漏洞修复组,分析了它们的漏洞倾向性并检查了漏洞倾向性的可能原因。

方法:

为了从项目中识别ECliques,我们提出了两种历史测量方法来推理文件之间的进化耦合,并创建了一种新颖的聚类算法。给定进化耦合信息,我们的聚类算法将自动识别项目中的ECliques。

结果:

我们对10个开源项目的33,099个提交进行了分析,以评估我们的EClique建模和分析方法的有效性:(1)结果表明,与EClique相关的文件更有可能共享相似的设计特征并一起更改以解决错误;(2)结果还表明,所识别的ECliques显着影响了项目的易错性。同时,大多数项目的易错性可以通过仅包含一小部分文件的少数几个ECliques来捕获。(3)最后,我们定性地证明容易出错的ECLiques通常会出现设计问题,这些问题会在文件之间传播更改,并且可能是容易出错的原因。

结论:

为了减少软件项目的易错性,从业人员应注意已识别的ECliques,并解决嵌入在这些ECliques中的设计问题。

更新日期:2020-07-27
down
wechat
bug