論文の概要: C2RUST-BENCH: A Minimized, Representative Dataset for C-to-Rust Transpilation Evaluation
- arxiv url: http://arxiv.org/abs/2504.15144v1
- Date: Mon, 21 Apr 2025 14:48:45 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-04-29 16:12:05.849792
- Title: C2RUST-BENCH: A Minimized, Representative Dataset for C-to-Rust Transpilation Evaluation
- Title(参考訳): C2RUST-BENCH: C-to-Rustトランスパイラ評価のための最小限の代表データセット
- Authors: Melih Sirlanci, Carter Yagemann, Zhiqiang Lin,
- Abstract要約: Cプログラムのメモリ安全性問題を解決するためにC-to-Rustトランスパイレーションが普及している。
我々は,大集合から関数を選択する手法を構築し,最小化されているが代表的データセットを構築する。
C2RUST-BENCHは2,905の関数を持ち、C-to-Rustのトランスパイレーションを代表し、現実世界のプログラムの15,503の関数から選択される。
- 参考スコア(独自算出の注目度): 31.322754490132752
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: 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.
- Abstract(参考訳): 過去20年間の脆弱性検出の努力にもかかわらず、メモリ安全性の脆弱性は依然として重大な問題である。
最近の報告では、主要な解決策はメモリセーフな言語に移行することである。
この目的のために、Cプログラムのメモリ安全性問題を解決するためにC-to-Rustトランスパイレーションが普及している。
最近の研究はC-to-Rustトランスパイレーションフレームワークを提案するが、包括的な評価データセットは欠落している。
1つの解決策は、十分なデータセットをまとめることであるが、これは自動化されたフレームワークにおける分析時間を増やし、いくつかのケースでは手作業で処理する。
本研究では,C-to-Rustトランスパイレーションを評価するために,大規模集合から関数を選択する手法を構築した。
実世界のプログラムの15,503個の関数から選択されたC-to-Rustトランスパイルを表す2,905個の関数を含むC2RUST-BENCHを提案する。
関連論文リスト
- CRUST-Bench: A Comprehensive Benchmark for C-to-safe-Rust Transpilation [63.23120252801889]
CRUST-Benchは100のCリポジトリのデータセットで、それぞれが安全なRustとテストケースで手書きのインターフェースとペアリングされている。
我々は、このタスクで最先端の大規模言語モデル(LLM)を評価し、安全で慣用的なRust生成が依然として難しい問題であることを確認した。
最高のパフォーマンスモデルであるOpenAI o1は、ワンショット設定で15タスクしか解決できない。
論文 参考訳(メタデータ) (2025-04-21T17:33:33Z) - Beyond the Edge of Function: Unraveling the Patterns of Type Recovery in Binary Code [55.493408628371235]
本稿では,バイナリコードの変数型を復元するフレームワークByteTRを提案する。
ByteTRは、関数間の変数伝搬の普遍性を考慮して、変数伝搬をトレースするためのプロシーダ間解析を行い、ゲートグラフニューラルネットワークを用いて、変数型回復のための長距離データフロー依存性をキャプチャする。
論文 参考訳(メタデータ) (2025-03-10T12:27:05Z) - ReF Decompile: Relabeling and Function Call Enhanced Decompile [50.86228893636785]
逆コンパイルの目標は、コンパイルされた低レベルコード(アセンブリコードなど)を高レベルプログラミング言語に変換することである。
このタスクは、脆弱性識別、マルウェア分析、レガシーソフトウェアマイグレーションなど、さまざまなリバースエンジニアリングアプリケーションをサポートする。
論文 参考訳(メタデータ) (2025-02-17T12:38:57Z) - C2SaferRust: Transforming C Projects into Safer Rust with NeuroSymbolic Techniques [16.111888466557144]
我々はC2SaferRustを紹介します。
最初にC2Rustを使って、Cコードを非慣用的で安全でないRustに変換する。
安全でないRustコードをスライスに分解し、LLMによってより安全なRustに個別に変換します。
各スライスを処理した後、エンドツーエンドのテストケースを実行して、コードが期待通りに機能していることを確認する。
論文 参考訳(メタデータ) (2025-01-24T05:53:07Z) - Context-aware Code Segmentation for C-to-Rust Translation using Large Language Models [1.8416014644193066]
大きな言語モデル(LLM)は、ルールベースのメソッドよりも自然で安全なコードを生成することで、この翻訳を自動化することを約束している。
大規模Cコードをコンパイル可能なRustコードに変換する際の成功率を改善するLLMベースの翻訳方式を提案する。
4キロのコードを含む20のベンチマークCプログラムの実験では、すべてのプログラムをコンパイル可能なRustコードに変換することに成功した。
論文 参考訳(メタデータ) (2024-09-16T17:52:36Z) - To Tag, or Not to Tag: Translating C's Unions to Rust's Tagged Unions [10.16257074782054]
C-to-Rust変換は、レガシーシステムソフトウェアの信頼性を高めるための有望な方法である。
産業的に開発されたトランスレータであるC2Rustは、安全でない機能を備えたRustコードを生成する。
我々は、C-to-Rust翻訳において、ユニオンをタグ付きユニオンに置き換える手法を提案する。
論文 参考訳(メタデータ) (2024-08-21T08:23:51Z) - FoC: Figure out the Cryptographic Functions in Stripped Binaries with LLMs [54.27040631527217]
削除されたバイナリの暗号関数を抽出するFoCと呼ばれる新しいフレームワークを提案する。
まず、自然言語における暗号関数のセマンティクスを要約するために、バイナリ大言語モデル(FoC-BinLLM)を構築した。
次に、FoC-BinLLM上にバイナリコード類似モデル(FoC-Sim)を構築し、変更に敏感な表現を作成し、データベース内の未知の暗号関数の類似実装を検索する。
論文 参考訳(メタデータ) (2024-03-27T09:45:33Z) - Towards a Transpiler for C/C++ to Safer Rust [0.10993800728351737]
RustはMozillaが開発したプログラミング言語で、パフォーマンスと安全性に重点を置いている。
既存のC++コードベースをRustに変換する方法も注目されている。
論文 参考訳(メタデータ) (2024-01-16T10:35:59Z) - rCanary: Detecting Memory Leaks Across Semi-automated Memory Management Boundary in Rust [4.616001680122352]
Rustはコンパイル時の検証を通じてメモリ安全性を保証するシステムプログラミング言語である。
本稿では,半自動境界を越えたリークを検出する静的,非自動,完全自動モデルチェッカーであるrCanaryを提案する。
論文 参考訳(メタデータ) (2023-08-09T08:26:04Z) - Instance-aware, Context-focused, and Memory-efficient Weakly Supervised
Object Detection [184.563345153682]
我々は、弱教師付き学習のためのインスタンス認識とコンテキスト重視の統合フレームワークを開発する。
メモリ効率の高いシーケンシャルバッチバックプロパゲーションを考案しながら、インスタンス対応の自己学習アルゴリズムと学習可能なコンクリートドロップブロックを採用している。
提案手法はCOCO(12.1% AP$、24.8% AP_50$)、VOC 2007(54.9% AP$)、VOC 2012(52.1% AP$)の最先端結果である。
論文 参考訳(メタデータ) (2020-04-09T17:57:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。