검증된 다중 의미 표현을 통한 LLM 기반 코드 번역 성능 향상
요약
LLM 기반 코드 번역의 논리적 오류를 줄이기 위해 다중 의미 증강 및 자기 교정 프레임워크인 Multisage를 제안합니다. 소스 코드에서 구조화된 의미를 추출하고 이를 검증하여 번역 성능을 획기적으로 높였습니다.
핵심 포인트
- Multisage 프레임워크를 통한 코드 번역 성능 향상
- 데이터 흐름 및 타입 제약 등 구조적 의미 정보 추출
- 의미 보존 변이 및 교차 검증을 통한 자기 교정 메커니즘
- HumanEval-X 벤치마크에서 번역 성공률 최대 2.22배 향상
대규모 언어 모델 (LLMs)은 자동화된 코드 번역 분야에서 큰 가능성을 보여주었으나, 기존 방식들은 프로그램의 의미 (semantics)에 대한 충분한 이해보다는 토큰 수준의 통계적 패턴에 의존하는 경우가 많습니다. 그 결과, 번역된 프로그램에는 여전히 논리적 및 의미적 오류가 포함될 수 있습니다. 기능 설명이나 테스트 케이스와 같은 고품질의 의미적 가이드 (semantic guidance)가 이러한 오류를 완화하는 데 도움이 될 수 있지만, 실제 시나리오에서는 이러한 자원을 사용할 수 없는 경우가 많습니다. 이는 두 가지 핵심 과제를 제기합니다: 어떻게 소스 코드로부터 직접 풍부한 의미 정보를 구축할 것인가, 그리고 어떻게 그러한 의미 정보가 번역을 가이드할 수 있을 만큼 정확하고 신뢰할 수 있도록 보장할 것인가입니다.
이러한 과제를 해결하기 위해, 우리는 LLM 기반 코드 번역을 위한 다중 의미 증강 및 자기 교정 프레임워크인 Multisage를 제안합니다. Multisage는 세 가지 모듈로 구성됩니다. 첫째, 의미 표현 파싱 (semantic representation parsing) 모듈은 데이터 흐름 그래프 (data-flow graphs), 타입 제약 조건 (type constraints), 외부 API 정보 등을 포함하여 소스 코드로부터 구조화된 기본 의미를 추출합니다. 둘째, 다중 의미 증강 (multi-semantic augmentation) 모듈은 이러한 표현을 기반으로 코드 요약, 함수 수준의 테스트 케이스, API 중심의 설명 및 테스트를 포함한 다양한 증강된 의미를 생성합니다. 셋째, 의미 일관성 교정 (semantic consistency calibration) 모듈은 의미 보존 변이 (semantics-preserving mutations)와 교차 의미 일관성 검증 (cross-semantic consistency verification)을 사용하여 생성된 의미를 필터링, 교정 및 정제합니다.
HumanEval-X 코드 번역 벤치마크를 통한 실험 결과, Multisage는 다양한 백본 모델 (backbone models)에 걸쳐 번역 성공률을 최대 2.22배 향상시키는 것으로 나타났습니다. 이는 일반적인 프롬프팅 (vanilla prompting), 지시어 튜닝된 LLMs (instruction-tuned LLMs), 그리고 생각의 사슬 (Chain-of-Thought) 추론보다 일관되게 우수한 성능을 보였으며, 특히 작은 모델에서 가장 큰 성능 향상이 관찰되었습니다. 이러한 결과는 명시적인 의미 증강 (semantic augmentation)이 LLM 기반 코드 번역의 신뢰성을 실질적으로 향상시킬 수 있음을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기