构建最小但具代表性的C转Rust评估数据集,提升迁移效率
C2RUST-BENCH: A Minimized, Representative Dataset for C-to-Rust Transpilation Evaluation
- 从15503个真实函数中筛选2905个代表性函数
- 数据集覆盖典型内存安全问题场景,支持高效评估
- 适合研究C转Rust工具的开发者和安全研究人员
尽管过去二十年在漏洞检测方面已有大量努力,内存安全漏洞仍是关键问题。近期报告指出,迁移到内存安全语言是主要解决方案。为此,C转Rust转换逐渐流行,以解决C程序中的内存安全问题。现有研究提出多种C转Rust转换框架,但缺乏全面的评估数据集。虽然可构建大型数据集,但这会显著增加自动化框架及部分手动分析的时间成本。本文提出C2RUST-BENCH,通过方法从15,503个真实程序函数中选出2,905个代表性函数,构建最小化且具代表性的评估数据集,用于有效评测C转Rust转换性能。
原文摘要 · Abstract (English)
Despite the effort in vulnerability detection over the last two decades, memory safety vulnerabilities continue to be a critical problem. Recent reports suggest that the key solution is to migrate to memory-safe languages. To this end, C-to-Rust transpilation becomes popular to resolve memory-safety issues in C programs. Recent works propose C-to-Rust transpilation frameworks; however, a comprehensive evaluation dataset is missing. Although one solution is to put together a large enough dataset, this increases the analysis time in automated frameworks as well as in manual efforts for some cases. In this work, we build a method to select functions from a large set to construct a minimized yet representative dataset to evaluate the C-to-Rust transpilation. We propose C2RUST-BENCH that contains 2,905 functions, which are representative of C-to-Rust transpilation, selected from 15,503 functions of real-world programs.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。