[논문리뷰] EVOC2RUST: A Skeleton-guided Framework for Project-Level C-to-Rust Translation

수정: 2025년 8월 7일

링크: 논문 PDF로 바로 열기

저자: Chaofan Wang, Tingrui Yu, Jie Wang, Dong Chen, Wenrui Zhang, Yuling Shi, Xiaodong Gu, Beijun Shen

핵심 연구 목표

레거시 C 코드베이스를 Rust로 자동 변환할 때 발생하는 언어적 불일치(안전성, 관용성) 및 프로젝트 레벨의 모듈 간 종속성 문제를 해결하여, 전체 C 프로젝트를 의미론적으로 동등하고 안전한 Rust 코드로 정확하게 번역하는 프레임워크를 개발하는 것을 목표로 합니다.

핵심 방법론

EvoC2RUST 는 세 단계의 진화적 증강 전략을 사용합니다. 첫째, C 프로젝트를 기능 모듈로 분해하고, 정의 및 매크로를 변환하며, 타입 검사된 함수 스텁을 생성하여 컴파일 가능한 Rust 스켈레톤 을 구축합니다. 둘째, 특징 매핑이 강화된 LLM 을 사용하여 각 함수 본문을 스켈레톤의 플레이스홀더에 점진적으로 번역합니다. 셋째, LLM 기반 정제정적 분석 을 통합한 단계적 오류 복구 체인 (Bracket Repair, Rule-Based Repair, LLM Refinement)을 통해 컴파일 오류를 수정하고 출력을 개선합니다.

주요 결과

LLM 기반 접근 방식 대비 구문 및 의미 정확도에서 평균 17.24%14.32% 향상을 달성했으며, 규칙 기반 도구보다 96.79% 높은 코드 안전율을 보였습니다. 모듈 수준에서는 산업 프로젝트에서 92.25% 의 컴파일 성공률과 89.53% 의 테스트 통과율을 달성했습니다. 특히, 안전 보존 특징 매핑 메커니즘이 가장 중요한 기여를 하는 것으로 확인되었습니다.

AI 실무자를 위한 시사점

EvoC2RUST 는 LLM의 코드 이해 능력과 규칙 기반 접근 방식의 정확성을 결합하여 대규모 C 코드베이스를 Rust로 안전하게 마이그레이션하는 실용적인 솔루션을 제공합니다. 이는 특히 메모리 안전성이 중요한 시스템 개발에서 레거시 시스템을 현대화하려는 AI/ML 엔지니어들에게 유용하며, 복잡한 프로젝트 종속성을 관리하는 데 효과적인 전략을 제시합니다.

⚠️ 알림: 이 리뷰는 AI로 작성되었습니다.

태그

#Review#C-to-Rust Conversion#Project-Level Translation#Large Language Models#Code Synthesis#Memory Safety#Software Migration#Hybrid Translation

Review 의 다른글