Daily Arxiv

전 세계에서 발간되는 인공지능 관련 논문을 정리하는 페이지 입니다.
본 페이지는 Google Gemini를 활용해 요약 정리하며, 비영리로 운영 됩니다.
논문에 대한 저작권은 저자 및 해당 기관에 있으며, 공유 시 출처만 명기하면 됩니다.

Identifying Helpful Context for LLM-based Vulnerability Repair: A Preliminary Study

Created by
  • Haebom

저자

Gabor Antal, Bence Bogenfurst, Rudolf Ferenc, Peter Heged\H{u}s

개요

본 논문은 대규모 언어 모델(LLM) GPT-4o를 사용하여 Java 취약성을 자동으로 수정하는 성능을 Vul4J 데이터셋을 통해 평가한 연구입니다. GPT-4와 GPT-4o의 성능을 동일한 프롬프트를 사용하여 비교하고, CWE, CVE 정보 및 수동으로 추출한 코드 컨텍스트와 같은 다양한 문맥 정보를 포함하는 9가지 추가 프롬프트를 설계하여 실험했습니다. 각 프롬프트는 42개의 취약성에 대해 세 번 실행되었고, Vul4J의 자동화된 테스트 프레임워크를 사용하여 수정 결과를 검증했습니다. 실험 결과, GPT-4o는 동일한 프롬프트를 사용했을 때 GPT-4보다 평균 11.9% 낮은 성능을 보였지만, 세 번의 실행을 합쳤을 때 10.5% 더 많은 취약성을 수정했습니다. CVE 정보는 수정 성공률을 크게 향상시켰으며, 작업 설명의 길이는 최소한의 영향만 미쳤습니다. CVE 정보와 수동으로 추출한 코드 컨텍스트를 결합한 경우 최상의 성능을 달성했습니다. 상위 3개 프롬프트를 함께 사용하여 GPT-4o는 26개(62%)의 취약성을 적어도 한 번 수정하여 기존 기준(40%) 및 재현 결과(45%)를 능가했으며, 이는 제로샷 설정에서 앙상블 프롬프트 전략이 취약성 수정을 개선할 수 있음을 시사합니다.

시사점, 한계점

시사점:
CVE 정보를 포함하는 프롬프트가 취약성 수정 성공률을 향상시킨다는 것을 확인했습니다.
수동으로 추출한 코드 컨텍스트와 CVE 정보의 결합이 최고의 성능을 보였습니다.
앙상블 프롬프트 전략을 통해 제로샷 설정에서 취약성 수정 성능을 향상시킬 수 있습니다.
GPT-4o는 GPT-4보다 개별 실행 성능은 낮았지만, 여러 실행을 통합했을 때 더 많은 취약성을 수정했습니다.
한계점:
실험은 Java 취약성과 Vul4J 데이터셋에 국한되어 일반화에 제한이 있습니다.
수동으로 코드 컨텍스트를 추출하는 과정이 필요하여 자동화에 어려움이 있습니다.
GPT-4o의 성능이 GPT-4보다 일부 측면에서 낮게 나타났습니다.
평가는 Vul4J의 자동화된 테스트 프레임워크에 의존하며, 이 프레임워크의 한계가 결과에 영향을 미칠 수 있습니다.
👍