Fault localization is to identify faulty source code. It could be done on various granularities, e.g., classes, methods, and statements. Most of the automated fault localization (AFL) approaches are coarse-grained because it is challenging to accurately locate fine-grained faulty software elements, e.g., statements. SBFL, based on dynamic execution of test cases only, is simple, intuitive, and generic (working on various granularities). However, its accuracy deserves significant improvement. To this end, in this paper, we propose a hybrid fine-grained AFL approach based on both dynamic spectrums and static statement types. The rationale of the approach is that some types of statements are significantly more/less error-prone than others, and thus statement types could be exploited for fault localization. On a crop of faulty programs, we compute the error-proneness for each type of statements, and assign priorities to special statement types that are steadily more/less error-prone than others. For a given faulty program under test, we first leverage traditional spectrum-based fault localization algorithm to identify all suspicious statements and to compute their suspicious scores. For each of the resulting suspicious statements, we retrieve its statement type as well as the special priority associated with the type. The final suspicious score is the product of the SBFL suspicious score and the priority assigned to the statement type. A significant advantage of the approach is that it is simple and intuitive, making it efficient and easy to interpret/implement. We evaluate the proposed approach on widely used benchmark Defects4J. The evaluation results suggest that the proposed approach outperforms widely used SBFL, reducing the absolute waste effort (AWE) by 9.3% on average.


翻译:错误本地化是用来识别错误源代码。 它可以针对各种颗粒, 例如, 类别、 方法和语句。 多数自动错误本地化( AFL) 方法都是粗略的, 因为精确定位微小错误软件元素( 例如, 语句) 具有挑战性。 SBFL 仅仅基于动态执行测试案例, 简单、 直观和通用( 工作于各种颗粒) 。 但是, 它的准确性值得大幅改进。 为此, 在本文中, 我们提出一种基于动态频谱和静态声明类型的混合精细精细的 AFL 方法。 这种方法的原理是, 某些类型的声明比其他的错误软件要容易发现错误错误。 某些声明类型可能会被利用为错误本地化。 我们计算出每种类型声明的错误易读取性, 给特殊声明类型( 更稳定/ 不易出错误的) 。 对于一个测试中的错误, 我们首先利用传统的光谱缩缩缩略的语句使用传统的本地化方法, 将所有可疑的Sl 格式的排序算算出S 。

0
下载
关闭预览

相关内容

Automator是苹果公司为他们的Mac OS X系统开发的一款软件。 只要通过点击拖拽鼠标等操作就可以将一系列动作组合成一个工作流,从而帮助你自动的(可重复的)完成一些复杂的工作。Automator还能横跨很多不同种类的程序,包括:查找器、Safari网络浏览器、iCal、地址簿或者其他的一些程序。它还能和一些第三方的程序一起工作,如微软的Office、Adobe公司的Photoshop或者Pixelmator等。
【CVPR2021】反事实的零次和开集识别
专知会员服务
25+阅读 · 2021年5月7日
【CVPR2021】自监督几何感知
专知会员服务
45+阅读 · 2021年3月6日
最新《图理论》笔记书,98页pdf
专知会员服务
74+阅读 · 2020年12月27日
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
2019中国硬科技发展白皮书 193页
专知会员服务
81+阅读 · 2019年12月13日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
最新《图理论》笔记书,98页pdf
专知
51+阅读 · 2020年12月27日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年9月21日
Arxiv
0+阅读 · 2021年9月17日
VIP会员
相关VIP内容
【CVPR2021】反事实的零次和开集识别
专知会员服务
25+阅读 · 2021年5月7日
【CVPR2021】自监督几何感知
专知会员服务
45+阅读 · 2021年3月6日
最新《图理论》笔记书,98页pdf
专知会员服务
74+阅读 · 2020年12月27日
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
2019中国硬科技发展白皮书 193页
专知会员服务
81+阅读 · 2019年12月13日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
相关资讯
最新《图理论》笔记书,98页pdf
专知
51+阅读 · 2020年12月27日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
逆强化学习-学习人先验的动机
CreateAMind
15+阅读 · 2019年1月18日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
Disentangled的假设的探讨
CreateAMind
9+阅读 · 2018年12月10日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
可解释的CNN
CreateAMind
17+阅读 · 2017年10月5日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员