中文

一种面向软件产品线的可变性故障定位方法

软件工程 2021-09-22 v1

摘要

软件故障定位是程序调试中最昂贵、最繁琐和最耗时的活动之一。由于故障的可变性,该活动在软件产品线(SPL)系统中变得更具挑战性。这些意外行为由可变性故障引起,其仅在某些系统特征的组合下才会暴露。这些特征之间的交互导致系统失效。尽管在单系统工程中定位缺陷已被深入研究,SPL 系统中的可变性故障定位在很大程度上仍未被探索。在本文中,我们提出 VarCop,一种新颖且有效的可变性故障定位方法。对于一个因可变性缺陷而失效的 SPL 系统,VarCop 通过分析采样产品的总体测试结果及其源代码来隔离可疑代码语句。被隔离的可疑语句是与特征间交互相关的语句,这些交互是系统中缺陷可见所必需的。每个被隔离语句的可疑度基于包含该语句的产品的总体测试结果以及这些产品中由该语句执行的测试用例的详细结果来评估。在一个大型含缺陷 SPL 系统数据集上,实证评估表明,在含有单个缺陷的系统中对错误语句排序方面,VarCop 比两种最先进的故障定位技术分别显著提升了 33% 和 50%。在约三分之二的案例中,VarCop 将缺陷语句排在结果列表的前 3 位。对于多缺陷案例,VarCop 在前 1 位定位到的缺陷比例上分别优于最先进方法 2 倍和 10 倍。在 22% 和 65% 的缺陷版本中,VarCop 正确地将系统中至少一个缺陷排在前 1 位和前 5 位。

关键词

引用

@article{arxiv.2109.10156,
  title  = {A Variability Fault Localization Approach for Software Product Lines},
  author = {Thu-Trang Nguyen and Kien-Tuan Ngo and Son Nguyen and Hieu Dinh Vo},
  journal= {arXiv preprint arXiv:2109.10156},
  year   = {2021}
}

备注

Published in IEEE Transactions on Software Engineering (Early Access)