레거시 코드의 신경망 코드 번역: APL에서 C#으로
요약
본 논문은 희소한 구문과 데이터 부족으로 인해 번역이 어려운 APL 언어를 C#으로 자동 변환하기 위한 새로운 LLM 기반 프레임워크를 제안합니다. 자연어 설명 매개, 검색 증강(RAG), 반복적 개선 전략을 활용하여 번역 품질을 높였으며, 구문 컴파일과 기능적 실행을 모두 검증하는 자동 평가 파이프라인을 통해 그 효과를 입증했습니다.
핵심 포인트
- APL에서 C#으로의 번역을 위한 자연어 설명 매개, 검색 증강, 반복적 개선 전략 도입
- APL의 특수 구문 및 병렬 코퍼스 부족 문제를 해결하기 위한 프레임워크 설계
- 구문 컴파일 및 기능적 실행 검증을 포함한 자동 평가 파이프라인 개발
- 추가적인 문맥과 가이드 제공이 신경망 코드 번역 성능을 크게 향상시킴을 확인
프로그래밍 언어 간의 자동 번역은 특히 소스 언어가 매우 간결하고 특화되어 있는 경우 여전히 어려운 문제로 남아 있습니다. 본 논문은 대규모 언어 모델 (LLM)을 사용하여 APL을 C#으로 번역하는 연구를 조사합니다. 이 작업은 APL의 희소한 구문 (sparse syntax), 대규모 병렬 코퍼스 (parallel corpora)의 부족, 그리고 APL 프로그램을 해석하기 위한 전문 지식의 필요성 때문에 어렵습니다. 이러한 과제를 해결하기 위해, 우리는 자연어 설명 매개 (natural language description-mediated), 검색 증강 (retrieval-augmented), 그리고 반복적 개선 (iterative refinement)이라는 세 가지 가이드 전략을 베이스라인 직접 번역 모델과 비교함으로써 APL-to-C# 번역을 위한 새로운 프레임워크를 소개합니다. 우리는 다양한 복잡도 수준에 걸쳐 기능적으로 동일한 코드 쌍의 다중 데이터셋을 구축하였으며, 번역 품질을 엄격하게 평가하기 위해 생성된 C# 코드의 구문 컴파일 (syntactic compilation)과 기능적 실행 (functional execution)을 모두 검증하는 자동 평가 파이프라인을 개발했습니다. 우리의 결과는 신경망 코드 번역이 광범위한 프로그램에 대해 APL과 C# 사이의 간극을 성공적으로 메울 수 있으며, 추가적인 문맥과 가이드를 통합하는 것이 모델 성능을 크게 향상시킨다는 것을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기