Page 225 - 《软件学报》2026年第3期
P. 225

1188                                                       软件学报  2026  年第  37  卷第  3  期


                 对象, 以探索其在更大规模模型上的表现. 由于大语言模型的训练开销及对抗性攻击实验耗时较高                              (约需  3 851.28 h),
                 我们选择了    Vulnerability detection  任务作为代表性实验, 耗时仍然高达    187.36 h, 详细的实验数据可查阅本文的开
                 源主页. 未来, 我们计划扩展至更多大语言模型和数据集. 基于对                  DeepSeek-Coder 在  3  个研究问题的分析, 得出以
                 下发现: (1) 对比其他方法, CoDefense 在对抗性防御方面更具优势, 平均提升              14.22%  的  DSR, 并减少了  85.46%  的
                 FDR. 特别是在变量名替换的对抗性攻击             (WIR-Random  和  ALERT) 中, CoDefense  达到了  100.00%  的  DSR  和
                 0.00%  的  FDR, 实现了完美防御. (2) CoDefense 在时间效率方面表现显著, 防御对抗性攻击时平均提升了                  59.32%
                 的效率. (3) CoDefense 在保持模型原始性能方面, 相较于原始模型提升了               0.71%  的性能, 相较于   3  种对比方法平
                 均提升了    1.26%. 这些结果均与现有结论保持一致, 进一步验证了               CoDefense  在更大规模模型上具有较强的泛
                 化性.
                  6.3   CoDefense 的防御通用性
                    图  4  展示了在  PLBART  模型和   Code summarization  任务中, 不同对抗性攻击方法生成的对抗性样本以及
                 CoDefense  生成的相应的归一化代码. 具体而言, 图           4(a) 显示了  ALERT  通过变量名替换生成的对抗性样本,
                 CoDefense 针对此样本实施了相应的变量名归一化防御; 图              4(b) 展示了  WIR-Random  利用变量名替换生成的对抗
                 性样本, CoDefense 亦通过变量名归一化有效抵御了该攻击; 图              4(c) 则展示了  StyleTransfer 利用死代码插入和代
                 码结构转换生成的对抗性样本, CoDefense 对该样本进行了相应的死代码消除和代码结构归一化的防御. 基于这
                 些示例, 我们总结出了两个关键发现.






                                        Original                  ALERT                      CoDefense
                                        (a) ALERT 在 PLBART 模型和 Code summarization 任务上的示例








                                        Original                WIR-Random                   CoDefense
                                      (b) WIR-Random 在 PLBART 模型和 Code summarization 任务上的示例










                                        Original                StyleTransfer                CoDefense
                                      (c) StyleTransfer 在 PLBART 模型和 Code summarization 任务上的示例
                                               图 4 3  个对抗性攻击与防御的示例

                    (1) 在应对  ALERT  和  WIR-Random  等基于变量名替换的对抗性攻击方法时, CoDefense 展现出高度的通用性
                 与显著的防御效果, 支持了我们在研究问题              1  中的结论. 具体而言, CoDefense 在所有     18  个实验场景中均达到了
                 100.00%  的  DSR (防御成功率) 和  0.00%  的  FDR (错误防御率), 而对比方法的平均        DSR  仅为  87.85%, FDR  为
                 1.28%. 这一显著对比进一步验证了        CoDefense 在抵御多种变量名替换攻击策略时的全面有效性.
                    (2) 针对  StyleTransfer 这类基于死代码插入和代码结构转换的对抗性攻击, CoDefense 成功消除了相应的死代
   220   221   222   223   224   225   226   227   228   229   230