본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 23. 12:05

CNnotator: LLM 가이드 기반 메모리 안전 주석 합성

요약

CNnotator는 LLM을 활용하여 C 언어 코드의 메모리 사용 패턴을 나타내는 CN 명세 주석을 자동으로 합성하는 연구입니다. OpenAI의 o3 모델이 높은 성공률을 보이며 AI를 통한 메모리 안전성 분석의 가능성을 입증했습니다.

핵심 포인트

  • LLM을 이용한 C 코드의 메모리 안전 주석 자동 생성 기술 제안
  • OpenAI o3 모델이 첫 시도 90%, 최종 97%의 높은 성공률 기록
  • GPT-4o 대비 추론 모델(Reasoning model)의 뛰어난 성능 확인
  • 레거시 코드의 메모리 조작 패턴 파악을 위한 AI 보조 도구로서의 가치

C 언어로 작성된 시스템의 보안 버그 중 상당 부분은 메모리 안전성 오류 (Memory safety errors)가 차지합니다. Java나 Rust와 같은 현대적인 언어들은 설계 단계부터 메모리 안전성 (Memory-safe)을 보장하기 때문에 이러한 버그를 방지합니다. 시스템을 더 안전한 언어로 마이그레이션하거나 메모리 오류를 식별하기 위해서는, 먼저 레거시 코드가 메모리를 어떻게 조작하는지 파악해야 합니다. 이러한 정보는 해당 코드 내에서 오직 암시적 (Implicitly)으로만 표현되어 있습니다. 많은 경우, 메모리 사용 패턴은 진정으로 어려운 것이라기보다 인간이 파악하기에 단순히 지루한 작업일 뿐입니다. 본 연구에서는 대규모 언어 모델 (LLMs)이 하이브리드 테스트/검증 도구인 CN의 명세 (Specifications)로서 메모리 사용을 나타내는 주석 (Annotations)을 합성함으로써 이 작업을 수행할 수 있는지 질문합니다. 우리의 도구인 CNnotator는 LLM을 사용하여 CN 명세를 자동으로 생성하고 테스트합니다. 연구 결과, 현재의 모델들은 중소규모의 C 프로그램에 대한 CN 명세를 생성할 수 있음을 확인했습니다. 특히 OpenAI의 o3 추론 모델 (Reasoning model)은 첫 시도에서 90%의 성공률을 기록했으며 전체 성공률은 97%에 달했습니다. 반면 채팅 모델인 GPT-4o는 첫 시도에서 65%를 정확하게 주석 처리했습니다. 이러한 결과는 AI 보조 주석 작업이 실제 C 코드베이스에 적용 가능한 수준이 되고 있음을 시사합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0