Software fault localization is one of the most expensive, tedious, and time-consuming activities in program debugging. This activity becomes even much more challenging in Software Product Line (SPL) systems due to variability of failures. These unexpected behaviors are induced by variability faults which can only be exposed under some combinations of system features. The interaction among these features causes the failures of the system. Although localizing bugs in single-system engineering has been studied in-depth, variability fault localization in SPL systems still remains mostly unexplored. In this article, we present VarCop, a novel and effective variability fault localization approach. For an SPL system failed by variability bugs, VarCop isolates suspicious code statements by analyzing the overall test results of the sampled products and their source code. The isolated suspicious statements are the statements related to the interaction among the features which are necessary for the visibility of the bugs in the system. The suspiciousness of each isolated statement is assessed based on both the overall test results of the products containing the statement as well as the detailed results of the test cases executed by the statement in these products. On a large dataset of buggy SPL systems, empirical evaluation shows that VarCop significantly improves two state-of-the-art fault localization techniques by 33% and 50% in ranking the incorrect statements in the systems containing a single bug each. In about two-thirds of the cases, VarCop ranks the buggy statements at the top-3 positions in the resulting lists. For multiple-bug cases, VarCop outperforms the state-of-the-art approaches 2 times and 10 times in the proportion of bugs localized at the top-1 positions. In 22% and 65% of the buggy versions, VarCop correctly ranks at least one bug in a system at the top-1 and top-5 positions.


翻译:软件本地化是程序调试中最昂贵、最乏味和最耗时的活动之一。 由于失败的变异性, 此活动在软件产品行( SPL) 系统中更具挑战性。 这些意想不到的行为是由变异性故障引起的, 只能在某些系统特性组合下暴露。 这些特性之间的相互作用导致系统失灵。 虽然对单一系统工程中的错误本地化错误进行了深入研究, SPL 系统中的变异性本地化大多仍未被解析。 在本篇文章中, 我们介绍了 VarCop, 一种新颖且有效的本地变异性错误本地化方法。 对于由于变异性错误而失败的 SPL 系统, VarC 系统将可疑的代码声明分离出来, 通过分析抽样产品的总体测试结果及其源代码。 孤立的可疑报表是这些特性之间的相互作用,这些特性对于系统中的错误可见度是必要的。 每个孤立的报表的可疑性根据包含该报表的产品的总体测试结果以及这些产品中进行的详细测试结果。 在 VarC 2 VarC 的 Varc 列表中, 显示每个 Varicreal 系统 的高级 Val- brode 10 和 的高级系统 10 。

0
下载
关闭预览

相关内容

IEEE信号处理信函(SPL)是每月一次的存档出版物,旨在快速传播原始的,最先进的想法,并在信号,图像,语音,语言和音频处理方面提供及时、重要的贡献。 官网地址:http://dblp.uni-trier.de/db/journals/spl/
专知会员服务
38+阅读 · 2020年10月13日
专知会员服务
38+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
169+阅读 · 2019年10月11日
2019年机器学习框架回顾
专知会员服务
35+阅读 · 2019年10月11日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
99+阅读 · 2019年10月9日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
已删除
将门创投
5+阅读 · 2019年4月29日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】计算机领域国际会议截稿信息
Call4Papers
9+阅读 · 2017年7月21日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
7+阅读 · 2021年5月25日
Arxiv
5+阅读 · 2018年10月4日
VIP会员
相关资讯
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
已删除
将门创投
5+阅读 · 2019年4月29日
人工智能 | SCI期刊专刊信息3条
Call4Papers
5+阅读 · 2019年1月10日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
人工智能 | 国际会议截稿信息9条
Call4Papers
4+阅读 · 2018年3月13日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】计算机领域国际会议截稿信息
Call4Papers
9+阅读 · 2017年7月21日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员