基于代码覆盖表示学习的故障定位
Fault Localization with Code Coverage Representation Learning
基于摘要分析。本文研究软件故障定位,提出 DeepRL4FL,将语句级和方法级缺陷定位视为图像模式识别问题,融合动态代码覆盖、语句数据依赖和静态源代码表示,以识别可能存在缺陷的语句或方法。这里的 RL 指 representation learning(表示学习),不是强化学习。 核心机制是先对测试用例排序,并标记呈现错误的代码语句,使模型学习代码覆盖矩阵中区分缺陷与非缺陷语句或方法的模式。数据依赖表示则将语句执行与数据流中的关联纳入可疑性判断,而不只考察单个语句。随后,代码覆盖矩阵、语句数据依赖和源代码的向量表示被组合,输入基于卷积神经网络的分类器。摘要强调的贡献是多种动态与静态信息的联合表示,而非单独依据覆盖信息定位故障。 作者报告,在其经验评估中,相对于所比较的语句级故障定位基线,top-1 结果的相对提升范围为 173.1%–491.7%;相对于方法级基线,相对提升范围为 15.0%–206.3%。这些数字不是准确率,也不是百分点变化;摘要未提供 top-1 的具体计数口径、绝对结果、数据集、数据划分与基线名称,不能据此直接判断实际定位成功率。实验协议、消融及统计信息尚未验证。 该方法依赖测试用例—代码语句覆盖矩阵、执行或数据流依赖及源代码信息,主要研究对象是软件程序,不是神经信号。现有材料未建立这些结构与 EEG 数据之间的明确对应关系,因此不据此提出 BCI 迁移效果或复现实验建议;已有 EEG 相关工作尚未检索确认。复现原研究前需核对覆盖矩阵构造、测试用例排序与错误标记规则、依赖提取方式、训练监督来源,以及训练和评估的划分单位。
值得核对其如何融合测试覆盖、语句数据依赖与静态代码表示进行故障定位,以及摘要所报 top-1 相对提升的具体评估口径;其对 EEG/BCI 的适用性尚未验证。
来源:OpenReview · Representation learning · openreview.net