본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 20. 01:20

코드 생성을 위한 문맥화된 코드 사전 학습 (Contextualized Code Pretraining)

요약

기존 코드 생성 모델들이 자연어 설명에 의존하는 한계를 극복하기 위해, 실제 코드의 호출 문맥(Local call-site context)을 활용하는 '문맥화된 코드 사전 학습' 방식을 제안합니다. 정적 분석을 통해 추출한 호출자-피호출자 쌍을 학습에 활용하는 CallerGen 모델과 새로운 벤치마크인 CallerEval을 통해 호출 문맥의 중요성을 입증했습니다.

핵심 포인트

  • 실제 개발 환경에서 중요한 '호출 문맥(Usage context)'을 코드 모델 학습에 명시적으로 통합
  • 정적 분석을 사용하여 대규모 호출자-피호출자(Caller-callee) 쌍을 자동으로 추출하는 프레임워크 제안
  • 호출 인지 목적 함수를 적용한 최초의 코드 모델인 CallerGen 개발
  • 현실적인 시나리오를 반영한 새로운 평가 벤치마크 CallerEval 구축
  • CallerGen은 유사 규모 모델 대비 우수한 성능을 보이며, 대규모 모델과도 경쟁 가능한 수준의 성능을 입증

코드 생성 (Code Generation)이 소프트웨어 개발 효율성을 향상시키는 데 점점 더 핵심적인 역할을 하게 됨에 따라, 현대의 코드 모델들은 주로 자연어 설명 (Natural-language descriptions)이 포함된 코드를 바탕으로 학습되고 평가됩니다. 실제 프로젝트에서 개발자들은 제한된 프로젝트 특정 산출물 (Project-specific artifacts) 하에서 누락된 함수를 구현하는 경우가 많으며, 이때 주변 코드에는 이미 로컬 호출 지점 문맥 (Local call-site context)이 존재합니다. 이러한 사용 문맥 (Usage context)은 기대되는 동작에 대한 실행 가능한 단서를 제공하지만, 기존 모델들은 이를 안정적으로 활용하도록 명시적으로 최적화되어 있지 않아, 저장소 (Repository) 환경의 주변 사용 사례와 매끄럽게 통합되지 않는 구현 결과가 나타날 수 있습니다. 본 연구에서는 호출 문맥을 코드 모델의 학습과 평가 모두에 통합하는 호출 인지 프레임워크 (Invocation-aware framework)인 문맥화된 코드 사전 학습 (Contextualized code pretraining)을 제안합니다. 우리는 정적 분석 (Static analysis)을 사용하여 실제 저장소로부터 대규모 호출자-피호출자 쌍 (Caller-callee pairs)을 자동으로 추출하여, 호출 문맥에 따라 생성을 조건화하는 사전 학습 태스크와 벤치마크를 구축합니다. 우리는 다양한 크기에 걸쳐 호출 인지 목적 함수 (Invocation-aware objectives)로 사전 학습된 최초의 코드 모델인 CallerGen을 학습시키고, 현실적인 시나리오를 특징으로 하는 새로운 벤치마크인 CallerEval에서 이를 평가합니다. 실험 결과, CallerGen은 유사한 규모의 모델보다 뛰어난 성능을 보였으며, 두 가지 벤치마크에서 더 큰 규모의 모델들과도 경쟁력을 유지함을 보여주었습니다. 우리의 220M 및 0.5B 모델은 CallerEval에서 베이스라인을 능가하며 각각 16.58%와 22.81%의 pass@1을 달성했습니다. 이러한 결과는 실제적인 코드 생성에 있어 호출 문맥 (Calling context)의 중요성을 강조합니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0