LLM 기반 프로그램 추론의 정확성 판단: LLM 기반 코드 추론을 위한 완성 의미론
요약
본 논문은 LLM 기반 코드 추론의 정확성을 판단하기 위한 '완성 의미론(completion semantics)'을 제안합니다. 이는 불완전한 프로그램 조각에 대한 추론이 절대적이지 않고, 어떤 완성 모델에 의존하는지를 설명합니다. 이 접근 방식은 증인 생성 워크플로우를 통해 추론의 근거가 되는 실행 가능한 정제(refinements)를 구체화하여 검증 가능성을 높입니다.
핵심 포인트
- LLM 코드는 불완전한 조각에 대한 가정에 의존한다.
- 완성 의미론은 프로그램 추론의 정확성을 정의하는 새로운 관점이다.
- 증인 생성 워크플로우로 추론을 구체화하고 검증할 수 있다.
토큰 및 인지적 한계로 인해 대규모 언어 모델(LLMs)은 일반적으로 완전한 프로그램보다는 불완전한 코드 조각/프롬프트에 대해 프로그램 추론을 수행합니다. 따라서 이러한 추론은 생략된 코드와 컨텍스트에 대한 가정에 의존해야 합니다. 결과적으로, 프로그램 조각에 대한 추론의 의미는 절대적이지 않으며, 그 조각이 완전한 프로그램으로 어떻게 다듬어질 수 있는지를 설명하는 암묵적인 완성 모델(completion model)에 달려 있습니다. 본 논문에서는 LLM 기반 프로그램 추론을 위한 완성 의미론(completion semantics)을 소개합니다. 우리는 불완전한 프로그램을 가능한 정제(refinements)들의 공간으로 표기하고, 존재적 추론의 정확성을 완성 모델과 관련지어 정의합니다. 이 관점 하에서, 보고된 버그는 모델 내에 해당 버그를 입증하는 완성(completion)이 존재하는 경우에만 정확하다고 간주됩니다. 이러한 관점은 많은 LLM 생성 보고서가 단순히 정확하거나 부정확한 것이 아니라, 생략된 컨텍스트에 대한 가정에 따라 달라지는 이유를 설명합니다. 우리는 이 접근 방식을 증인 생성 워크플로우(witness-generation workflow)의 형태로 구현하여, 추론의 근간이 되는 완성들을 원래 프로그램 조각의 실행 가능한 정제(executable refinements)를 구성함으로써 구체화했습니다. 증인은 존재적 주장(existential claims)에 대한 증거 역할과, 그 주장을 뒷받침하는 데 필요한 가정을 노출하는 메커니즘 역할을 모두 수행합니다. 우리는 실제 세계의 LLM 생성 버그 보고서 및 프로그램 분석 작업에 대해 이 접근 방식을 평가했습니다. 우리의 결과는 증인 생성이 그럴듯한 완성들에 의해 뒷받침되는 추론과 비현실적인 가정이 필요한 추론을 효과적으로 구별하며, 불완전한 프로그램에 대한 추론을 검증하는 실용적인 메커니즘을 제공함을 보여줍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기