Skip to main content
QUICK REVIEW

[논문 리뷰] Adversarial Robustness of Deep Code Comment Generation

Yu Zhou, Xiaoqing Zhang|arXiv (Cornell University)|2021. 07. 31.
Adversarial Robustness in Machine Learning참고 문헌 53인용 수 8
한 줄 요약

이 논문은 깊이 학습 기반 코드 주석 생성 모델에 대한 새로운 적대적 공격 방법인 ACCENT을 제안한다. 이 방법은 코드 스니펫 내 식별자를 대체하여 문법적으로 유효하고 의미적으로 동일한 적대적 예제를 생성한다. 이 방법은 모델 성능을 효과적으로 악화시키며, 전이성도 뛰어나다. 또한 두 개의 공개 데이터셋에서 다섯 개인 주류 아키텍처를 대상으로 기존 데이터 증강 기법을 초월하는 강건성을 향상시키는 훈련 기반 방어 기법을 도입한다.

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은 문법적 정확성과 의미적 동일성을 유지하면서 코드 스니펫 내 식별자를 반복적으로 대체하여 적대적 예제를 생성한다.
  • 모델 예측에 가장 큰 영향을 미치는 식별자를 식별하고 이를 공격의 대상으로 삼는다.
  • 구문 인식 기반 대체를 통해 수정된 코드가 컴iles블하고 원본과 기능적으로 동일하게 유지되도록 보장한다.
  • 적대적 예제를 훈련 중에 통합하여 강건성을 향상시키는 새로운 적대적 훈련 방법을 도입한다.
  • Transformer 기반 아키텍처를 포함한 기존 인코더-디코더 아키텍처와 호환된다.
  • 다섯 개인 주류 코드 주석 생성 모델을 사용하여 두 개의 대규모 공개 데이터셋에서 방법을 평가한다.

실험 결과

연구 질문

  • RQ1식별자 대체가 문법적으로 유효하고 의미적으로 동일하지만 코드 주석 생성에 큰 오류를 유발하는 적대적 코드 스니펫을 생성할 수 있는가?
  • RQ2기존 기준 대비 ACCENT이 최신 상태의 코드 주석 생성 모델의 성능을 얼마나 효과적으로 악화시키는가?
  • RQ3이 논문에서 제안한 적대적 훈련 방법이 표준 데이터 증강 기법을 초월해 모델의 강건성을 향상시키는가?
  • RQ4ACCENT이 생성한 적대적 예제의 전이성은 다양한 모델과 데이터셋 간에 어떻게 나타나는가?
  • RQ5제안된 방어 기법은 코드 주석 생성에서 적대적 공격의 영향을 어느 정도 감소시키는가?

주요 결과

  • ACCENT은 두 개의 공개 데이터셋에서 다섯 개의 주류 코드 주석 생성 모델의 성능을 크게 악화시키는 안정적이고 기능을 유지하는 적대적 예제를 성공적으로 생성했다.
  • ACCENT이 생성한 적대적 예제는 기준 대비 더 높은 전이성을 보이며, 더 넓은 공격 효과성을 나타낸다.
  • 제안된 적대적 훈련 방법은 표준 데이터 증강 기법보다 모델의 강건성을 더 효과적으로 향상시켰다.
  • 표준 데이터 증강으로 훈련된 모델일지라도 공격이 효과적이어서 취약성의 심각성을 입증했다.
  • 현재의 코드 주석 생성 모델이 코드 내 미세한, 의미를 유지하는 변경(특히 식별자 대체)에 매우 민감한 것으로 확인되었다.
  • 이 연구는 식별자 대체가 코드 생성 모델에서 강력하고 아직 탐색이 부족한 공격 벡터임을 드러내며, 강건성 인식 훈련의 필요성을 강조한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.