Page 288 - 《软件学报》2026年第7期
P. 288
王海宁 等: 融合因果效应的高效软件产品线缺陷定位方法 2973
值为 1 表示接受处理, 取值为 0 表示未接受处理. 那么, 所有受试单位在 T = 1 时的结果 Y 称为“处理后的潜在结
1
0
果”, 在 T = 0 时的结果 Y 称为“未处理的潜在结果”.
对于每个受试单位, 处理效应定义为处理与未处理的潜在结果之差 [38] . 由于在实际研究中无法同时观察到同
一个体的两种潜在结果, 通常利用平均处理效应 (average treatment effect, ATE) 来衡量总体的因果效应, 即:
1
0
τ = E[Y ]− E[Y ] (1)
其中, E[·] 为期望算子.
在缺陷定位任务中, 数据通常是通过运行一组测试样例并记录它们的执行信息获得的 [17] . 在这种情况下, 实
际的实验过程是观察性研究而非随机性实验. 因此, 覆盖一条语句并不是随机分配到处理组或对照组. 为了在观察
性研究中估计平均的处理效应, 需要通过控制潜在混杂因子的观察值, 来减少混杂变量对因果推断的影响. 此时,
1 0
处理变量 T 对结果变量的平均处理效应可通过调节一组协变量计算, 使得 T 条件独立于结果变量 Y 和 Y , 即:
1
0
(Y ,Y )⊥T|X (2)
为此, 公式 (1) 可转换为:
τ = E[E[Y|T = 1,X]− E[Y|T = 0,X]] (3)
此时, 因果效应估计问题即可转化为在控制这些变量条件下, 对处理变量与结果变量之间关系的建模与量化.
回归模型是一种常用的方法, 用于通过控制观察到的混杂因子来估计平均因果效应 [39] , 例如线性模型.
Y = α+τT +βX +ε (4)
其中, α 表示截距项, T 为处理变量, Y 是结果变量, X 是包含混杂因子的协变量向量, β 为 X 的系数向量, ε 是误差
项. 该模型被成功应用于单系统软件的缺陷定位任务中 [26] . 具体而言, Y 表示为测试结果变量, T 为处理语句, X 为
T 的混杂因子的协变量向量. 从测试过程中捕捉到的观察数据可以拟合出相应的回归模型 [40] , 其系数 τ 即为 T 对
Y 的因果效应.
3 基于因果和频谱效应融合的高效 SPL 可变缺陷定位方法
本节首先简要介绍 SPL 系统中缺陷定位的问题描述, 接着详细介绍 FCS-FL 的基本框架及实现细节, 包括可
疑特征交互识别、可疑语句隔离、可疑值计算 (因果效应和频谱效应的计算与融合) 及可疑语句排序.
3.1 问题描述
对于一个存在可变缺陷的 SPL 系统 Γ = ⟨S,F,φ⟩, 其采样产品的配置集合 C = C P ∪C F , 缺陷定位任务可以描述
C F 的缺陷特征交互 S ⊆ S 及每条语句所对应的可疑值. 形式
′
为识别出导致 B, 并输出该特征交互相关的语句集合
′ Φ(s), 即 s 的可疑值. 理论上, 一个好
上, 旨在构造一个映射函数 Φ(·), 使得每条可疑语句 s ∈ S 映射为一个常数值
′
的定位方法应保证 S 中所包含的语句数应尽可能少, 并且缺陷语句的可疑值尽可能高.
3.2 基本框架
本文提出的 FCS-FL 方法的基本框架如后文图 2 所示, 包含两个阶段: 特征级缺陷定位和语句级缺陷定位. 在
特征级缺陷定位阶段, 基本的流程如下: 首先, 基于缺陷相关性计算每个未通过产品的潜在特征选择集合; 其次, 移
除被包含的可疑特征选择集合以避免生成重复部分配置; 接着, 对于每个可疑特征选择集合, 生成相应的 1–7 阶潜
在特征交互集合, 并使用缓存机制防止重复检查相同的特征交互. 最后, 保存满足缺陷相关性的可疑特征交互, 用
于定位缺陷语句. 在语句级缺陷定位阶段, 基本的流程是: 首先, 对每个未通过产品中的可疑部分配置利用程序切
片技术隔离出可疑语句. 接着, 对每一条可疑语句, 分别计算它们的频谱效应和因果效应, 并加权融合因果效应和
频谱效应. 最后, 根据融合后的可疑值进行排序, 检查可疑性高的语句即可实现缺陷定位.
3.3 高效的可疑特征交互识别
如第 2.1 节所述, 缺陷特征交互应同时满足缺陷相关性和最小性. 事实上, 可能存在多个特征交互同时满足这
两点性质. 可利用未通过产品与通过产品在特征选择上的差异, 有效地识别出所有满足缺陷相关性和最小性的特

