Page 39 - 《软件学报》2025年第5期
P. 39
董黎明 等: 结合主动学习和半监督学习的软件可追踪性恢复框架 1939
4.2 评价指标及基准模型
本文使用可追踪性模型中常用的指标 Precision, Recall, F2 及 AUC. 这几个评价指标也广泛用于之前的软件
可追踪性研究工作中 [10,40,44] .
TP
Precision = (16)
TP+ FP
TP
Recall = (17)
TP+ FN
在可追踪性研究中, 不同任务场景关注的指标不同, 在恢复软件制品间的缺失跟踪链接的任务中, 更加期望预
测结果能够得到较高的召回率 [40] , 因此本文选择 F2 用来衡量分类器的综合性能, 作为精度和召回率的权衡.
5× Precision×Recall
F2 = (18)
4× Precision+Recall
此外, AUC 值是模型 ROC 曲线下的总体面积, 该曲线在二维空间中绘制, 以假阳性率 (false positive rate) 作
为 x 坐标, 真实阳性率 (true positive rate) 作为 y 坐标. 由于 AUC 不受类别不平衡的影响并且独立于预测阈值, 因
此被广泛使用.
通过与传统的基于信息检索的方法和传统的基于学习式的监督方法进行比较, 可以验证本文所提出的基于主
动学习及半监督的框架 STRACE(AL+SSL), 在真实的企业项目的软件可追踪性恢复任务中的有效性. 具体而言,
本文选择了主流的基于信息检索的矢量空间模型 IR(VSM) 及基于传统机器学习的随机森林模型 Baseline(RF) [10]
进行了比较. 同时, 本文还与完全基于半监督的可追踪性框架 SPLINT [44] 进行了比较. 为避免不同分类算法的影响,
本文 STRACE(AL+SSL) 框架及半监督 SPLINT 框架的基础模型都使用了 Baseline(RF) 中的随机森林算法.
4.3 实验研究问题
为评估基于主动学习及半监督学习的可追踪性恢复框架 STRACE(AL+SSL) 的有效性, 本文回答了以下研究
问题.
● RQ1: STRACE(AL+SSL) 是否可以获得比其他主流的可追踪性模型更好的结果?
● RQ2: STRACE(AL+SSL) 框架中各阶段 (半监督及主动学习) 最佳的样本选择策略是哪种?
● RQ3: STRACE(AL+SSL) 框架中各模块 (半监督、主动学习、权重机制) 的贡献是怎样的?
4.4 实验参数配置
在本文的实验中, 为了方便与 Rath 等人 [10] 进行比较, 随机森林算法被选择作为各模型的分类算法. 实验环境
配置是使用 OpenStack Nova 服务器, 英特尔酷睿处理器 (Skylake) 和 4 GB 内存. STRACE(AL+SSL) 框架中半监
督 CBST-Adjust 策略的参数设置为 p/increaseRate=0.2/0.1, α=1. 主动学习策略选择 1% 数据集大小作为迭代步长
进行标注. 整个实验迭代次数为 20 次. 在实验结果中汇报的值是多个项目进行 10 次重复实验后的平均值. 其中,
每次实验的结果是在一致的参数配置下统计得到的最佳 F2 值对应的模型结果. 为了模拟真实数据集上有标签样
本和无标签样本的真实分布, 本文将 100% 的有标签集合视作每个项目的全部数据集, 并从中随机选择 30% 的样
本为初始有标签样本, 剩余 70% 视作无标签样本. 30% 的取值是参考了表 1 中展示的真实企业项目中有链接的缺
陷比例的平均值.
4.5 实验结果与分析
RQ1: STRACE(AL+SSL) 是否可以获得比其他主流的可追踪性模型更好的结果?
为了验证这个问题的结果, 本文基于 STRACE(AL+SSL) 框架构建的可追踪性分类模型与传统主流模型, 如基
于信息检索矢量空间模型 IR(VSM), 基于随机森林的机器学习模型 Baseline(RF) 方法, 及本课题组在前期 (发表
在 ESEC/FSE2022) 工作 [44] 中提出的基于半监督学习的模型 SPLINT 进行了对比实验, 实验的结果如表 5 所示. 为
方便验证本文提出框架 STRACE 的通用性, 表 5 中也展示了 Baseline(RF) [10] 验证过的 6 个开源项目上的实验
结果. 表 5 中粗体数值为众多项目在每个实验指标上最高值, Avg.行中的下划线数值为每类项目在每个实验指标