에이전트 기반 해석: LLM 기반 프로그램 분석을 위한 격자 구조 증거 (Agentic Interpretation:
요약
본 논문은 LLM을 활용한 프로그램 분석 시 발생하는 불투명성과 단일 시도 분석의 취약성을 해결하기 위해 '에이전트 기반 해석(Agentic Interpretation)' 프레임워크를 제안합니다. 격자 기반 정적 분석의 원리를 도입하여 상위 분석 목표를 국소적 주장으로 분해하고, 워크리스트 알고리즘을 통해 각 주장에 대한 LLM의 판단을 체계적으로 추적하고 진화시킵니다.
핵심 포인트
- LLM의 단일 시도 분석 방식이 가진 정보 압축 및 불투명성 문제 지적
- 격자 기반 정적 분석(Lattice-based static analysis)의 규율을 LLM 추론에 도입
- 분석 목표를 국소적 주장(localized claims)으로 분해하여 체계적 추론 가능
- 워크리스트 알고리즘을 통한 분석 과정의 제어 및 증거 기반 판단 추적
- 제3자 컴포넌트와 같이 정적 분석기가 참조하기 어려운 비정형 정보 활용 능력 강화
대규모 언어 모델 (Large language models, LLMs)은 문서, 최신 보안 권고 사항, 버전별 메타데이터, 비공식 API 계약과 같이 고정된 정적 분석기 (static analyzers)가 참조할 수 없는 정보를 활용할 수 있습니다. 이는 소스 프로그램 이외의 정보에 의존하거나, 기존의 정적 분석기에 적합하지 않은 프로그램 분석에 있어 LLM을 매력적인 선택지로 만듭니다. 그러나 LLM에 단 한 번의 시도로 전체 프로그램 분석을 직접 요청하는 방식은 취약합니다. 이는 어떤 결론이 지지되거나 논쟁 중인지 드러내고, 중간 결과물을 사용하여 이후의 더 집중적인 탐색을 유도하는 대신, 증거에 기반한 많은 판단을 하나의 불투명한 답변으로 압축해 버리기 때문입니다. 본 논문에서는 격자 기반 정적 분석 (lattice-based static analysis)의 규율을 LLM 주도 프로그램 추론 (LLM-driven program reasoning)에 도입하는 프레임워크인 에이전트 기반 해석 (agentic interpretation)을 제안합니다. 높은 수준에서 살펴보면, 에이전트 기반 해석은 상위 수준의 분석 목표를 국소적인 주장 (localized claims)들로 분해하고, 유한한 높이의 격자 (finite-height lattice) 내에서 각 주장에 대한 LLM의 판단을 추적합니다. 워크리스트 알고리즘 (worklist algorithm)은 분석 과정 동안 주장과 그 판단이 어떻게 진화하는지를 제어합니다. 우리는 에이전트 기반 해석의 공식 모델을 도입하고, 이로 인해 열리는 설계 공간을 탐색하며, 불투명한 제3자 컴포넌트에 의존하는 코드를 분석하는 실례를 통해 이 접근 방식을 설명합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기