| 摘要: |
| 缺陷定位是软件程序调试中最昂贵、最繁琐和最耗时的活动之一, 同时也是软件维护中不可或缺的关键步骤. 由于缺陷的可变性, 缺陷定位在软件产品线中更具挑战性. 尽管单系统软件的缺陷定位研究取得了显著进展, 但针对软件产品线可变性缺陷定位的研究相对不足. 同时, 现有方法由于忽略了特征交互的重复生成和检查问题以及缺陷在程序语句间的传播问题, 从而面临着效率低和根因定位能力差的挑战. 为此, 针对软件产品线提出一种高效且准确的缺陷定位方法. 该方法分为特征级和语句级两个层级的定位: 在特征级定位中, 利用可疑特征选择集合之间存在包含关系和相同子集这两点特性, 实现可疑特征交互的高效识别; 在语句级定位中, 利用一种引入中介变量的约简因果模型, 并融合因果效应和频谱效应, 实现更精确的缺陷定位. 选择4种先进的软件产品线缺陷定位方法, 并在6个真实的软件产品线系统上进行实验比较. 结果表明, 所提方法在定位效率和准确性方面均显著优于其他主流方法. |
| 关键词: 软件产品线 缺陷定位 因果推理 |
| DOI:10.13328/j.cnki.jos.007552 |
| 分类号:TP311 |
| 基金项目:国家自然科学基金(62276103, 62566012); 中央高校基本科研业务费专项资金(93K172024K03, 93K172024K24); 广东省基础与应用基础研究基金(2024A1515030022); 广东省普通高校创新团队项目(2023KCXTD002); 广东省哲学社会科学规划(GD23SJZ09); 贵州省教育厅自然科学研究项目(黔教技[2023]061号); 惠州市科技计划 (2024BQ010011) |
|
| Efficient Fault Localization Method for Software Product Lines Integrating Causal Effects |
|
WANG Hai-Ning1, XIANG Yi1,2, HUANG Han1,2, WU Chun-Guo2, FENG Fu-Jian3, YANG Xiao-Wei1
|
|
1.School of Software Engineering, South China University of Technology, Guangzhou 510006, China;2.Key Laboratory of Symbolic Computation and Knowledge Engineering (Jilin University), Ministry of Education, Changchun 130012, China;3.College of Data Science and Information Engineering, Guizhou Minzu University, Guiyang 550025, China
|
| Abstract: |
| Fault localization is one of the most expensive, tedious, and time-consuming activities in software debugging, and it is also an indispensable step in software maintenance. Due to the variability of faults, fault localization is even more challenging in software product lines. Although significant progress has been made in fault localization for single-system software, research on fault localization for variability in software product lines is still insufficient. Meanwhile, existing methods face challenges such as low efficiency and poor root cause localization due to the issues of repeated generation and checking of feature interactions, as well as the propagation of faults between program statements. To address this, this study proposes an efficient and accurate fault localization method for software product lines, which performs localization at both the feature level and the statement level. At the feature level, based on observations of inclusion relationships and identical subsets between suspicious feature selection sets, the method identifies suspicious feature interactions more efficiently. At the statement level, a reduced causal model with mediator variables is used, combining causal effects and spectrum-based effects to achieve more precise fault localization. Four advanced fault localization methods for software product lines are selected, and experiments are conducted on six real-world software product line systems for comparison. The results demonstrate that the proposed method significantly outperforms other mainstream methods in terms of localization efficiency and accuracy. |
| Key words: software product line fault localization causal inference |