C-to-Rust 변환 평가를 위한 최소화된 대표 데이터셋, C2RUST-BENCH 등장!
메모리 안전성 문제 해결을 위해 C에서 Rust로의 코드 변환(transpilation) 기술이 주목받는 가운데, 효율적인 평가를 위한 최소화된 대표 데이터셋 C2RUST-BENCH가 제안되었습니다. 실제 프로그램에서 선별된 2,905개의 함수로 구성된 C2RUST-BENCH는 C-to-Rust 변환 기술 평가의 효율성과 정확성을 높여 소프트웨어 보안 향상에 기여할 것으로 기대됩니다.

메모리 안전, C에서 Rust로의 여정: C2RUST-BENCH의 탄생
최근 20년간 취약점 탐지 기술이 발전했지만, 메모리 안전성 문제는 여전히 심각한 골칫거리입니다. 보고서들은 메모리 안전한 언어로의 전환을 핵심 해결책으로 제시하고 있으며, 그 중 C 언어 코드를 Rust 언어로 변환하는 기술이 주목받고 있습니다. C-to-Rust 변환 프레임워크가 속속 등장하고 있지만, 이를 제대로 평가할 만한 종합적인 데이터셋이 부족했습니다.
대규모 데이터셋을 사용하는 방법도 있지만, 자동화된 프레임워크와 수동 분석 모두에 막대한 시간과 자원이 소요되는 문제가 있습니다. 이러한 어려움을 해결하기 위해, Melih Sirlanci, Carter Yagemann, Zhiqiang Lin 연구팀은 실제 프로그램에서 대표적인 함수들을 선별하여 최소화하면서도 대표성을 유지하는 새로운 방법을 개발했습니다.
C2RUST-BENCH: 효율과 정확성의 조화
연구팀이 제안한 C2RUST-BENCH는 실제 프로그램 15,503개 함수 중에서 신중하게 선별된 2,905개의 함수로 구성된 데이터셋입니다. 이는 C-to-Rust 변환 과정을 대표하는 함수들로, 기존의 대규모 데이터셋의 문제점을 해결하면서도, 평가의 효율성과 정확성을 동시에 높이는 데 기여할 것으로 기대됩니다.
이 연구는 C-to-Rust 변환 기술의 발전과 메모리 안전성 향상에 중요한 이정표를 제시하며, 향후 더욱 안전하고 효율적인 소프트웨어 개발을 위한 중요한 기반을 마련할 것으로 예상됩니다. C2RUST-BENCH의 등장으로, 보다 효과적이고 신속한 C-to-Rust 변환 기술 평가가 가능해져, 소프트웨어 보안의 새로운 장을 열 것으로 기대됩니다.
Keywords: C-to-Rust, Transpilation, 메모리 안전성, 데이터셋, 소프트웨어 보안, C2RUST-BENCH
Reference
[arxiv] C2RUST-BENCH: A Minimized, Representative Dataset for C-to-Rust Transpilation Evaluation
Published: (Updated: )
Author: Melih Sirlanci, Carter Yagemann, Zhiqiang Lin
http://arxiv.org/abs/2504.15144v1