当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Variability Fault Localization Approach for Software Product Lines
arXiv - CS - Software Engineering Pub Date : 2021-09-21 , DOI: arxiv-2109.10156
Thu-Trang Nguyen, Kien-Tuan Ngo, Son Nguyen, Hieu Dinh Vo

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 系统,VarCop 通过分析抽样产品及其源代码的整体测试结果来隔离可疑代码语句。孤立的可疑语句是与功能之间的交互相关的语句,这些语句对于系统中的错误的可见性是必要的。每个孤立语句的可疑性是根据包含该语句的产品的整体测试结果以及这些产品中该语句执行的测试用例的详细结果来评估的。在有问题的 SPL 系统的大型数据集上,经验评估表明,VarCop 将两种最先进的故障定位技术显着提高了 33% 和 50%,在对每个包含单个错误的系统中的错误语句进行排名方面。在大约三分之二的情况下,VarCop 将错误语句排在结果列表的前 3 位。对于多个 bug 的情况,VarCop 在定位在 top-1 位置的 bug 的比例上优于最先进的方法 2 倍和 10 倍。在 22% 和 65% 的错误版本中,VarCop 正确地将系统中至少一个错误排在前 1 和前 5 位。
更新日期:2021-09-22
down
wechat
bug