深度代码注释生成的对抗鲁棒性
软件工程
2023-07-26 v3
摘要
深度神经网络(DNN)在计算机视觉、语音识别或自然语言处理等诸多领域均展现出卓越性能。近来它们也被应用于各类软件工程任务,通常涉及源代码处理。众所周知,DNN 易受对抗样本攻击,即人为构造的输入虽被人类视为良性,却可能导致 DNN 模型产生各种错误行为。本文关注软件工程中的代码注释生成任务,并研究 DNN 应用于该任务时的鲁棒性问题。我们提出 ACCENT,一种通过标识符替换来构造对抗代码片段的方法,这些片段语法正确且与原始代码片段语义相近,但可能误导 DNN 生成完全不相关的代码注释。为提升鲁棒性,ACCENT 还引入了一种可应用于现有代码注释生成模型的新训练方法。我们在两个大规模公开数据集上针对主流编码器-解码器架构开展综合实验以评估该方法。结果表明,ACCENT 能高效生成保持功能的稳定对抗样本,且所生成样本相比基线具有更好的可迁移性。我们还通过实验证实了该训练方法在提升模型鲁棒性方面的有效性。
引用
@article{arxiv.2108.00213,
title = {Adversarial Robustness of Deep Code Comment Generation},
author = {Yu Zhou and Xiaoqing Zhang and Juanjuan Shen and Tingting Han and Taolue Chen and Harald Gall},
journal= {arXiv preprint arXiv:2108.00213},
year = {2023}
}