Skip to main content
QUICK REVIEW

[논문 리뷰] Adversarial Robustness for Code

Pavol Bielik, Martin Vechev|arXiv (Cornell University)|2020. 02. 11.
Adversarial Robustness in Machine Learning참고 문헌 45인용 수 33
한 줄 요약

이 논문은 불확실한 예측에서 abstain을 적용하고, 코드 도메인에서의 적대적 학습과 입력 표현의 정제를 통해 정확하고 적대적으로 강건한 코드 모델을 구축하는 프레임워크를 제시한다. 타입 추론에 적용하여 정확도는 유지하거나 향상시키는 동시에 강건성의 상당한 이점을 얻는다.

ABSTRACT

Machine learning and deep learning in particular has been recently used to successfully address many tasks in the domain of code such as finding and fixing bugs, code completion, decompilation, type inference and many others. However, the issue of adversarial robustness of models for code has gone largely unnoticed. In this work, we explore this issue by: (i) instantiating adversarial attacks for code (a domain with discrete and highly structured inputs), (ii) showing that, similar to other domains, neural models for code are vulnerable to adversarial attacks, and (iii) combining existing and novel techniques to improve robustness while preserving high accuracy.

연구 동기 및 목표

  • 신경 코드 모델의 robustness 갭을 타입 추론 및 코드 분석과 같은 다양한 작업에서 동기화하고 해결한다.
  • abstention, adversarial training, representation refinement를 결합한 3-컴포넌트 프레임워크를 제안한다.
  • 코드 작업에서 강건성을 유지하거나 향상시키면서 정확성을 보존하거나 향상시킬 수 있음을 보여준다.

제안 방법

  • 예측을 자신감 있는 영역과 기피(abstain) 영역으로 구분하는 기피 메커니즘으로 모델을 학습한다.
  • 유효한 프로그램 수정들을 고려하고 최악의 경우 손실을 최적화하는 방식으로 적대적 학습을 구현한다.
  • 예측과 관련된 부분만 남겨두는 프로그램 특정 추상화를 학습하여 입력 표현을 정제한다.
  • 데이터의 하위 집합에 맞춘 표현을 학습하는 여러 특화 모델을 학습시켜 전반적 강건성과 커버리지를 향상시킨다.
  • 프로그램을 그래프로 표현하고 그래프 신경망을 사용한다; 정제(pruning)를 ILP로 해결 가능한 edge-sparsification 문제로 공식화한다.
  • 강건한 예측으로 데이터를 반복적으로 주석 달아 정확하고 강건한 커버리지를 확장한다.

실험 결과

연구 질문

  • RQ1abstention이 코드 모델의 전반적인 정확성을 해치지 않으면서 강건성을 향상시킬 수 있는가?
  • RQ2적대적 학습이 코드 작업의 강건성을 얼마나 개선할 수 있으며, 그것만으로 충분한가?
  • RQ3정제된(추상화된) 태스크 관련 표현 학습이 적대적 코드 변경에 대한 강건성을 향상시키는가?
  • RQ4여러 특화 모델을 학습시키면 단일 모델에 비해 데이터 세트에 대한 강건한 커버리지가 증가하는가?

주요 결과

모델정확도강건성
LSTM88.2 ± 0.244.9 ± 1.3
DeepTyper88.4 ± 0.252.4 ± 1.2
GCN82.6 ± 0.649.1 ± 1.1
GNT89.3 ± 0.947.4 ± 1.0
GGNN86.7 ± 0.452.1 ± 0.4
LSTM (adv trained)87.5 ± 0.451.9 ± 1.3
DeepTyper (adv trained)87.1 ± 0.355.1 ± 2.6
GCN (adv trained)81.9 ± 0.549.3 ± 3.1
GNT (adv trained)88.3 ± 0.450.0 ± 0.5
GGNN (adv trained)86.1 ± 0.257.9 ± 1.5
GNT (abstain+adv+refinement, t_acc=1.00)99.93%99.98%
GGNN (abstain+adv+refinement, t_acc=1.00)99.80%99.01%
GNT (abstain+adv+refinement, t_acc=0.00)86.6%62.3%
GGNN (abstain+adv+refinement, t_acc=0.00)87.7%67.0%
  • JavaScript/TypeScript의 타입 예측에서 이 접근법은 정확도 87.7%를 달성하고 강건성은 52.1%에서 67.0%로 향상되었다.
  • abstention, adversarial training, and representation refinement를 적용한 일부 모델은 데이터 하위 집합에서 거의 완전한 강건성 성능에 도달하며(예: t_acc=1.00에서 29% 샘플에 대해 99.93% 정확도 및 99.98% 강건성).
  • 여러 개의 강건한 모델을 훈련시키면 커버리지가 향상된다: GNT의 경우 t_acc=1.00에서 약 30%의 샘플이 강건하게 정확하고 (99.98% 강건성); GGNN도 같은 설정에서 99.01% 강건성을 달성.
  • 적대적 학습만으로는 제한된 강건성 향상만을 얻을 수 있다(일부 모델에서 최대 ~7%).
  • 대표화 정제(학습된 추상화)와 ILP 기반 엣지 프루닝은 abstention 및 adversarial training과 결합될 때 강건성을 크게 향상시킨다.
  • 이 접근법은 강건성-정확성 절충을 보여주고 문제를 abstain, adversarial training, representation refinement으로 분해하는 이점에 주목한다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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