Skip to main content
QUICK REVIEW

[論文レビュー] Adversarial Robustness of Deep Code Comment Generation

Yu Zhou, Xiaoqing Zhang|arXiv (Cornell University)|Jul 31, 2021
Adversarial Robustness in Machine Learning参考文献 53被引用数 8
ひとこと要約

本稿では、コードスニペット内の識別子を置き換えることで構文的に正しいが意味的に同等の悪意ある例を生成する、深層学習モデル向けの新たな敵対的攻撃手法ACCENTを提案する。この手法はモデルの性能を著しく低下させ、高い転送性を示す。また、2つの公開データセットと5つの主流アーキテクチャを対象として、標準的なデータ拡張技術を超える堅牢性を向上させる訓練ベースの防御手法も導入している。

ABSTRACT

Deep neural networks (DNNs) have shown remarkable performance in a variety of domains such as computer vision, speech recognition, or natural language processing. Recently they also have been applied to various software engineering tasks, typically involving processing source code. DNNs are well-known to be vulnerable to adversarial examples, i.e., fabricated inputs that could lead to various misbehaviors of the DNN model while being perceived as benign by humans. In this paper, we focus on the code comment generation task in software engineering and study the robustness issue of the DNNs when they are applied to this task. We propose ACCENT, an identifier substitution approach to craft adversarial code snippets, which are syntactically correct and semantically close to the original code snippet, but may mislead the DNNs to produce completely irrelevant code comments. In order to improve the robustness, ACCENT also incorporates a novel training method, which can be applied to existing code comment generation models. We conduct comprehensive experiments to evaluate our approach by attacking the mainstream encoder-decoder architectures on two large-scale publicly available datasets. The results show that ACCENT efficiently produces stable attacks with functionality-preserving adversarial examples, and the generated examples have better transferability compared with baselines. We also confirm, via experiments, the effectiveness in improving model robustness with our training method.

研究の動機と目的

  • 深層学習モデルがコードコメント生成タスクにおいて悪意ある例に対してどれほど脆弱であるかを調査すること。
  • 厳格なプログラミング言語の制約の下で構文的に正しく、意味的に保存された悪意あるコードスニペットを生成する課題に対処すること。
  • 最先端のコードコメント生成モデルを効果的にだます新しい攻撃手法を提案すること。
  • このような悪意ある例に対してモデルの堅牢性を向上させる新しい訓練手法を開発すること。
  • 提案された攻撃および防御手法の有効性と転送性を実世界のデータセットを用いて評価すること。

提案手法

  • ACCENTは、構文的正しさと意味的同等性を保ちつつ、コードスニペット内の識別子を段階的に置き換えることで悪意ある例を生成する。
  • モデルの予測に与える影響が最も大きい識別子を特定し、それらを攻撃の標的とする。
  • 文法に配慮した置換により、変更後のコードがコンパイル可能でかつ元のコードと機能的に同等であることを保証する。
  • 悪意ある例をモデルの訓練段階に組み込むことで堅牢性を向上させる、新たな敵対的訓練手法を導入する。
  • Transformerに基づくような、コードコメント生成で一般的に用いられる従来のエンコーダデコーダアーキテクチャとも互換性がある。
  • 本手法は、5つの主流のコードコメント生成モデルを用いて、2つの大規模な公開データセット上で評価されている。

実験結果

リサーチクエスチョン

  • RQ1識別子の置換によって、構文的に正しく、意味的に同等であるが、コードコメント生成に大きな誤差を引き起こす悪意あるコードスニペットを生成できるか?
  • RQ2既存のベースラインと比較して、ACCENTは最先端のコードコメント生成モデルの性能をどの程度著しく低下させるか?
  • RQ3本研究で提案する敵対的訓練手法は、標準的なデータ拡張技術を上回ってモデルの堅牢性を向上させるか?
  • RQ4ACCENTが生成する悪意ある例は、異なるモデルやデータセット間でどの程度の転送性を示すか?
  • RQ5提案された防御手法は、コードコメント生成における悪意ある攻撃の影響をどの程度低減させるか?

主な発見

  • ACCENTは、2つの公開データセット上で5つの主流のコードコメント生成モデルの性能を著しく低下させる安定した、機能を保持する悪意ある例を効果的に生成した。
  • ACCENTが生成する悪意ある例は、ベースライン手法と比較してより高い転送性を示しており、攻撃の広範な有効性を示している。
  • 本研究で提案する敵対的訓練手法は、標準的なデータ拡張技術よりもモデルの堅牢性をより効果的に向上させた。
  • 標準的なデータ拡張で訓練されたモデルに対しても攻撃が有効であるため、脆弱性の深刻さが裏付けられた。
  • 現在のコードコメント生成モデルが、意味的に保存された微小な変更、特に識別子の置換に対して極めて感受性を示すことが確認された。
  • 本研究は、識別子の置換がコード生成モデルにおける強力で未だ十分に探査されていない攻撃ベクトルであることを明らかにした。これにより、堅牢性を意識した訓練の必要性が強調された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。