当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Using K-core Decomposition on Class Dependency Networks to Improve Bug Prediction Model's Practical Performance
IEEE Transactions on Software Engineering ( IF 7.4 ) Pub Date : 2019-01-14 , DOI: 10.1109/tse.2019.2892959
Yu Qu , Qinghua Zheng , Jianlei Chi , Yangxu Jin , Ancheng He , Di Cui , Hengshan Zhang , Ting Liu

In recent years, Complex Network theory and graph algorithms have been proved to be effective in predicting software bugs. On the other hand, as a widely-used algorithm in Complex Network theory, k-core decomposition has been used in software engineering domain to identify key classes. Intuitively, key classes are more likely to be buggy since they participate in more functions or have more interactions and dependencies. However, there is no existing research uses k -core decomposition to analyze software bugs. To fill this gap, we first use k -core decomposition on Class Dependency Networks to analyze software bug distribution from a new perspective. An interesting and widely existed tendency is observed: for classes in k -cores with larger k values, there is a stronger possibility for them to be buggy. Based on this observation, we then propose a simple but effective equation named as top-core which improves the order of classes in the suspicious class list produced by effort-aware bug prediction models. Based on an empirical study on 18 open-source Java systems, we show that the bug prediction models’ performances are significantly improved in 85.2 percent experiments in the cross-validation scenario and in 80.95 percent experiments in the forward-release scenario, after using top-core . The models’ average performances are improved by 11.5 and 12.6 percent, respectively. It is concluded that the proposed top-core equation can help the testers or code reviewers locate the real bugs more quickly and easily in software bug prediction practices.

中文翻译:

在类依赖网络上使用K核分解来提高错误预测模型的实际性能

最近几年, 复杂网络理论和图形算法已被证明可有效预测软件错误。另一方面,作为复杂网络理论中广泛使用的算法,k核分解已在软件工程领域用于识别关键类。直观地讲,键类更可能是错误的,因为它们参与更多的功能或具有更多的交互作用和依赖性。但是,没有现有的研究用途ķ 核心分解以分析软件错误。为了填补这一空白,我们首先使用ķ 类依赖网络上的核心分解以从新的角度分析软件错误分布。观察到一种有趣且广泛存在的趋势:对于ķ 核更大 ķ值,他们更有可能成为越野车。基于此观察,我们然后提出一个简单但有效的方程,名为顶级核心这改善了由努力意识的错误预测模型产生的可疑类列表中的类的顺序。基于对18个开源Java系统的实证研究,我们发现,使用交叉验证后,错误预测模型的性能在交叉验证场景中的85.2%实验和在前发行版场景中的80.95%实验中均得到了显着改善。顶级核心 。该模型的平均性能分别提高了11.5%和12.6%。结论是建议顶级核心 等式可以帮助测试人员或代码审查人员在软件错误预测实践中更快,更轻松地定位实际错误。
更新日期:2019-01-14
down
wechat
bug