스켈레톤 기반 코드 저장소 변환: 새로운 벤치마크 TRANSREPO-BENCH 등장


본 기사는 Xing Zhang 등이 개발한 Skeleton-Guided-Translation 프레임워크와 TRANSREPO-BENCH 벤치마크에 대해 소개합니다. 이를 통해 기존 코드 변환 벤치마크의 한계를 극복하고, 더욱 정확하고 효율적인 저장소 수준 코드 변환 기술 개발을 위한 새로운 가능성을 제시합니다.

related iamge

대규모 언어 모델 시대의 코드 변환: 한계와 혁신

최근 대규모 언어 모델의 발전은 기업 애플리케이션의 현대화와 레거시 시스템의 안전하고 다용도 높은 언어로의 마이그레이션을 위한 새로운 가능성을 열었습니다. 하지만 기존 코드 변환 벤치마크는 주로 개별 함수에 초점을 맞춰왔습니다. 이는 모듈 간 일관성 유지 및 종속성 관리와 같은 전체 저장소 변환의 복잡성을 제대로 반영하지 못하는 한계를 지닙니다.

일부 최신 저장소 수준 변환 벤치마크는 이러한 문제 해결을 시도했지만, 유지 관리의 어려움과 평가의 과도한 단순화로 인해 개발자 친화적인 측면에서 아쉬움을 남겼습니다.

Skeleton-Guided-Translation: 저장소 수준 코드 변환의 새로운 지평

이러한 문제를 해결하기 위해 Xing Zhang 등 14명의 연구자들은 Skeleton-Guided-Translation 프레임워크를 제시했습니다. 이 프레임워크는 저장소 수준의 Java에서 C# 코드 변환을 위한 정교한 품질 평가를 제공합니다. 핵심은 두 단계 변환 프로세스: 먼저 저장소 구조의 '스켈레톤'을 변환하고, 그 다음 이 스켈레톤을 가이드로 전체 저장소를 변환하는 것입니다. 이는 모듈 간의 관계와 종속성을 효과적으로 관리하여 더욱 정확한 변환을 가능하게 합니다.

TRANSREPO-BENCH: 현실적인 평가를 위한 새로운 벤치마크

연구팀은 Skeleton-Guided-Translation과 함께 TRANSREPO-BENCH라는 새로운 벤치마크도 공개했습니다. TRANSREPO-BENCH는 고품질 오픈소스 Java 저장소와 그에 상응하는 C# 스켈레톤, 그리고 일치하는 단위 테스트와 빌드 구성을 포함합니다. 특히, 고정된 단위 테스트는 수동 조정 없이 여러 번 또는 점진적인 변환에 적용될 수 있어 평가의 자동화와 확장성을 크게 향상시킵니다.

기존의 이진 평가 지표가 빌드 실패로 인해 모든 테스트가 실패하는 경우를 구분하지 못하는 한계를 극복하기 위해, 연구팀은 개별 테스트 사례 수준에서 변환 품질을 평가하는 정교한 평가 지표를 개발했습니다. 이를 통해 더욱 정확하고 세분화된 평가가 가능해졌습니다.

TRANSREPO-BENCH를 사용한 평가는 저장소 수준 코드 변환의 주요 과제를 부각하고, 더욱 정확한 변환 기술 개발을 위한 중요한 발판을 마련할 것으로 기대됩니다. 이는 단순한 코드 변환을 넘어, 기업의 레거시 시스템 개선 및 현대화 전략에 중요한 영향을 미칠 것으로 예상됩니다.


*이 기사는 AI가 생성한 내용으로, 일부 정보가 실제와 다를 수 있습니다. 정확한 확인을 위해 추가적인 검증을 권장드립니다.

Reference

[arxiv] Skeleton-Guided-Translation: A Benchmarking Framework for Code Repository Translation with Fine-Grained Quality Evaluation

Published:  (Updated: )

Author: Xing Zhang, Jiaheng Wen, Fangkai Yang, Pu Zhao, Yu Kang, Junhao Wang, Maoquan Wang, Yufan Huang, Elsie Nallipogu, Qingwei Lin, Yingnong Dang, Saravan Rajmohan, Dongmei Zhang, Qi Zhang

http://arxiv.org/abs/2501.16050v1