Page 33 - 《软件学报》2025年第5期
P. 33
董黎明 等: 结合主动学习和半监督学习的软件可追踪性恢复框架 1933
表 3 特征集合
特征 ID 描述
a1 developer(I)
人物特征 a2 committer(C)
a3 1, (if committer(C) ∈ developer(I)); 0, otherwise
a4 committed(C)−created(I)
a5 resolved(I)−committed(C)
制品时序特征
a6 1 (if a4 and a5 ⩾ 0);0 otherwise
a7 |a5| < ε,ε = median_perpro ject(|a5|)
committed(C)−committed(Cp),
a8
前序关联制品 Cp = {maxCommitted(Cx)|is_linked(Cx,F)∧committed(Cx) < committed(C)}
特征 a9 overlap(C,Cp),overlap = (mod(C)∩mod(Cp))/max(mod(C),mod(Cp))
a10 committer(Cp)
committed(Cn)−committed(C),
a11
后序关联制品 Cn = {minCommitted(Cx)|is_linked(Cx,I)∧committed(Cx) > committed(C)}
特征 a12 overlap(C,Cn),overlap = (mod(C)∩mod(Cn))/max(mod(C),mod(Cn))
a13 committer(Cn)
a14 I_opened = |{Ix|opened(I)∧created(I) ⩽ committed(C) ⩽ resolved(I )}|
当前潜在匹配制品特征 a15 |developer(I_opened)|
(
a16 C_linked = |{Cxis_linked Cx,I)∧committed(Cx) < committed(C )}|
a17 VSM (sim(description(I),message(C))
a18 VSM-2gram(sim(description(I),message(C))
a19 LSI (sim(description(I),message(C))
制品多维文本相似性特征
a20 JS (sim(description(I),message(C))
a21 LDA(sim(description(I),message(C))
a22 NMF(sim(description(I),message(C))
a23 VSM +LDA(sim(description(I),message(C))
a24 JS + LDA(sim(description(I),message(C))
制品混合文本相似性特征 a25 VSM +NMF(sim(description(I),message(C))
a26 JS +NMF(sim(description(I),message(C))
a27 VSM + JS (sim(description(I),message(C))
但通过观察历史制品数据, 本文发现企业对于需求、缺陷和测试用例等制品的文本描述比较丰富, 一些团队
还会制定描述规则及模板. 因此本文通过充分挖掘和利用企业项目中制品间的语义信息, 帮助模型学习更加有效
的特征, 从而区分“真”和“假”链接. 需求补充的是, 企业项目由于数据保密性规则 (源代码保密), 将 Rath 等人提出
的缺陷文本描述与代码提交文件的文本相似性特征舍去, 计算了以下多维度混合文本相似性特征.
● 多维文本相似性 (a17–a22). 本文使用了 6 种主流的 IR 模型度量了制品文本相似性, 包括 VSM, VSM-2gram ,
[46]
LSI, JS, LDA 和 NMF [12] .
● 混合文本相似性 (a23–a27). 考虑到单一文本相似性特征稀疏性问题比较严重, 本文参考了 Gethers 等人 [47]
的工作, 使用混合文本相似性特征, 通过归一化加权, 结合不同 IR 模型度量制品文本相似性特征.
3.1.4 样本分割
如图 7 所示, 本文将标注的样本数据依据时间顺序进行分割, 参照 Rath 等人选择的分割参数, 比例为 4:1, 将
标注数据分为 80% 的训练集和 20% 的测试集. 选择时序分割法是因为考虑到制品之间存在时序关系, 其次特征
集合中包含时序特征 (a4–a7), 且训练集样本在测试集样本之前更加符合真实可追踪任务中实践场景 [10,48] , 即通过
历史数据预测未来的制品链接.
3.1.5 样本重采样
不难发现, 通过样本跟踪对匹配函数 is_candidate 生成的样本是严重不平衡的, 其中包含了过多“假”链接样