Page 222 - 《软件学报》2026年第3期
P. 222
田朝 等: CoDefense: 面向对抗性攻击的多粒度代码归一化防御方法 1185
CoDefense 展现出了完美的防御能力. 具体而言, CoDefense 在所有 18 个实验场景中均实现了 100.00% 的 DSR 和
0.00% 的 FDR, 而对比方法的 DSR 平均仅为 87.85%, FDR 则为 1.28%. 这一显著的对比差异进一步表明了
CoDefense 在防御不同策略的基于变量名替换的对抗性攻击时的全面有效性. 这一发现不仅表明了 CoDefense 在
面对基于变量名的对抗性攻击的卓越防御能力, 同时也为相关领域的研究提供了新的视角和思路.
此外, 本文进一步采用 Wilcoxon Signed-Rank [79] 检验来验证 CoDefense 与 3 个对比方法的实验结果之间是否
存在显著性差异, 其分别比较不同方法在每个实验场景下的 DSR 和 FDR 数值. 当置信度为 0.05 时, p-value 均小
−3
于 1.05×10 . 这表明 CoDefense 在统计学上显著优于 3 个对比方法, 进一步肯定了 CoDefense 的有效性.
结论: 相比于对比方法, CoDefense 能够更有效地防御对抗性攻击. 在 27 个实验场景下, CoDefense 相较于对
比方法平均提升了 10.75% 的 DSR, 并平均降低了 65.14% 的 FDR. 特别是对于基于变量名替换的对抗性攻击方
法 (即 WIR-Random 和 ALERT), CoDefense 在所有 18 个实验场景上均实现了 100.00% 的 DSR 和 0.00% 的 FDR
的完美防御, 进一步表明了 CoDefense 的有效性.
● 研究问题 2: 与现有方法相比, CoDefense 在防御不同对抗性攻击方面的效率如何?
为了进一步探究 CoDefense 的时间效率, 本文进行了 CoDefense 与 3 个对比方法的总运行时间的对比分析.
表 6 详细展示了 CoDefense 及其对比方法的实验结果, 其中第 3 列 (Original 列) 展示了原始模型在训练和测试过
程中的总运行时间.
表 6 CoDefense 和对比方法的总运行时间 (min)
Adv-Train
数据集名称 模型 Original CoDefense
WIR-Random ALERT StyleTransfer
CodeBERT 31.37 280.39 5 191.18 1 011.61 61.02
Vulnerability CodeGPT 23.87 376.57 4 662.99 765.31 53.62
detection
PLBART 27.25 413.04 6 191.78 995.53 57.17
CodeBERT 77.03 272.90 4 329.48 288.85 256.76
Code clone
CodeGPT 82.67 441.72 6 051.52 575.39 265.47
detection
PLBART 105.83 548.04 9 136.45 664.78 290.14
CodeBERT 552.13 1 023.26 12 143.32 1 033.74 588.82
Code
summarization CodeGPT 1 096.86 2 800.46 3 479.07 1 669.75 1 133.55
PLBART 846.01 1 677.01 8 682.91 1 418.81 882.70
Total 2 843.02 7 833.39 59 868.70 8 423.77 3 589.27
总体而言, 在全部 9 个实验场景下, CoDefense 的总运行时间显著优于对比方法. 具体而言, CoDefense 在所有
9 个实验场景下的总运行时间为 3 589.27 min, 相比之下, 3 个对比方法的总运行时间则为 7 833.39–59 868.70 min.
深入分析这一显著差异的根源, 主要归因于对比方法在运行过程中高度依赖于耗时且复杂的对抗性样本生成过
程. 这一生成过程不仅调用代码模型密集度高, 而且往往涉及多次迭代与调整, 从而显著增加了总体运行时间. 相
比之下, CoDefense 通过其创新的设计和优化策略, 平均提升了高达 85.86% 的时间效率. 这一数据不仅彰显了
CoDefense 在单次运行中的优势, 更预示着在需要更新防御规则集并可能多次执行对抗性防御过程的实际部署场
景中, CoDefense 将展现出更为显著的长期效率优势.
此外, 本文进一步采用 Wilcoxon Signed-Rank [79] 检验来验证 CoDefense 与对比方法的实验结果之间是否存在
显著性差异, 其分别比较不同方法在每个实验场景下的 TRT 数值. 当置信度为 0.05 时, p-value 均小于 3.19×10 ,
−2
本实验说明了 CoDefense 在统计学上优于对比方法, 进一步表明 CoDefense 的效率.
结论: 相较于对比方法, CoDefense 在防御对抗性攻击方面展现出更高的效率. 具体而言, 在全部 9 个实验场
景下, CoDefense 相较于对比方法平均提升了高达 85.86% 的时间效率.
● 研究问题 3: 与现有方法相比, CoDefense 对目标代码模型的原始性能影响如何?
表 7 详细展示了 CoDefense 及其对比方法对模型原始性能的影响. 分析表 7 中的数据, 我们可以观察到在全
部 9 个实验场景下, CoDefense 策略非但未对原始模型的性能造成任何损害, 反而展现了其保持乃至提升模型性

