論文の概要: PanicFI: An Infrastructure for Fixing Panic Bugs in Real-World Rust Programs
- arxiv url: http://arxiv.org/abs/2408.03262v2
- Date: Mon, 4 Nov 2024 14:29:49 GMT
- ステータス: 処理完了
- システム内更新日: 2024-11-08 12:44:50.320586
- Title: PanicFI: An Infrastructure for Fixing Panic Bugs in Real-World Rust Programs
- Title(参考訳): PanicFI: 現実のRustプログラムでパニックバグを修正するためのインフラストラクチャ
- Authors: Yunbo Ni, Yang Feng, Zixi Liu, Runtao Chen, Baowen Xu,
- Abstract要約: PanicFIは、Rustのパニックバグを理解し、自動テクニックを開発するためのサポートを提供することを目的としている。
PanicFIでは、102の実際のパニックバグと、最もダウンロードされたオープンソースクラッドのトップ500からの修正を含むデータセットPanic4Rを構築しています。
我々は、パニックバグを修正し、パッチを生成するための洞察とガイダンスを提供するRust固有のパターンを特定します。
PanicKillerはRustのパニックバグを修正するための最初の自動化ツールであり、すでにオープンソースプロジェクトにおける28のパニックバグの解決に寄与している。
- 参考スコア(独自算出の注目度): 15.85591636033004
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: The Rust programming language has garnered significant attention due to its robust safety features and memory management capabilities. Despite its guaranteed memory safety, Rust programs suffer from runtime errors that are unmanageable, i.e., panic errors. Notably, traditional memory issues such as null pointer dereferences, which are prevalent in other languages, are less likely to be triggered in Rust due to its strict ownership rules. However, the unique nature of Rust's panic bugs, which arise from the language's stringent safety and ownership paradigms, presents a distinct challenge. Over half of the bugs in rustc, Rust's own compiler, are attributable to crash stemming from panic errors. However, addressing Rust panic bugs is challenging and requires significant effort, as existing fix patterns are not directly applicable due to the design and feature of Rust language.Therefore, developing foundational infrastructure, including datasets, fixing patterns, and automated repair tools, is both critical and urgent. This paper introduces a comprehensive infrastructure, namely PanicFI, aimed at providing supports for understanding Rust panic bugs and developing automated techniques. In PanicFI, we construct a dataset, Panic4R, comprising 102 real panic bugs and their fixes from the top 500 most-downloaded open-source crates.Then, through an analysis of the Rust compiler implementation , we identify Rust-specific patterns for fixing panic bugs, providing insights and guidance for generating patches. Moreover, we develop PanicKiller, the first automated tool for fixing Rust panic bugs, which has already contributed to the resolution of 28 panic bugs in open-source projects.The practicality and efficiency of PanicKiller confirm the effectiveness of the patterns mined within PanicFI.
- Abstract(参考訳): Rustプログラミング言語は、堅牢な安全性機能とメモリ管理機能のために、大きな注目を集めている。
メモリ安全性が保証されているにもかかわらず、Rustプログラムは実行時のエラー、すなわちパニックエラーに悩まされている。
特に、他の言語で広く使われているnullポインタの参照のような従来のメモリ問題は、その厳格なオーナシップルールのためにRustでトリガされる可能性が低い。
しかしながら、Rustのパニックバグのユニークな性質は、言語の厳格な安全性とオーナシップパラダイムから生じるもので、明確な課題を示している。
Rust独自のコンパイラであるrustcのバグの半分以上は、パニックエラーに起因するクラッシュに起因するものだ。
しかし、Rustのパニックに対処することは難しく、Rust言語の設計と機能のために既存の修正パターンが直接適用されないため、多大な労力を要する。
本稿では,Rustのパニックバグを理解し,自動テクニックを開発するためのサポートの提供を目的とした,包括的インフラストラクチャであるPanicFIを紹介する。
PanicFIでは、102の実際のパニックバグと、最もダウンロードされたオープンソースクラッドのトップ500からの修正を含むデータセット、Panic4Rを構築しています。
さらに、Rustのパニックバグを修正するための最初の自動化ツールであるPanicKillerも、オープンソースプロジェクトの28のパニックバグの解決にすでに貢献しています。
関連論文リスト
- WildTeaming at Scale: From In-the-Wild Jailbreaks to (Adversarially) Safer Language Models [66.34505141027624]
我々は、WildTeamingを紹介した。これは自動LLM安全リチームフレームワークで、Wild-Chatbotインタラクションをマイニングし、新しいジェイルブレイク戦術の5.7Kのユニークなクラスタを発見する。
WildTeamingは、未確認のフロンティアLSMの脆弱性を明らかにし、最大4.6倍の多様性と敵の攻撃に成功した。
論文 参考訳(メタデータ) (2024-06-26T17:31:22Z) - Investigating the Transferability of Code Repair for Low-Resource Programming Languages [57.62712191540067]
大規模言語モデル(LLM)は、コード生成タスクにおいて顕著なパフォーマンスを示している。
近年の作業は、連鎖推論や蒸留といった現代的な技術を統合することで、コード修復のプロセスを強化している。
高低資源言語と低低資源言語の両方でコード修復を蒸留する利点について検討する。
論文 参考訳(メタデータ) (2024-06-21T05:05:39Z) - Characterizing Unsafe Code Encapsulation In Real-world Rust Systems [2.285834282327349]
内部アンセーフは、システムソフトウェア開発においてRustコミュニティによって提唱される重要な設計パラダイムである。
Rustコンパイラは、安全でないコードを含む安全な関数の健全性を検証することができない。
安全でないコードの本質的な使用法とカプセル化をモデル化するための,新しいアンセーフティアイソレーショングラフを提案する。
論文 参考訳(メタデータ) (2024-06-12T06:59:51Z) - Bringing Rust to Safety-Critical Systems in Space [1.0742675209112622]
Rustは、バグ導入の可能性を劇的に削減し、より安全で安全なコードを生成することを目的としている。
この作業は、Rustで安全クリティカルな宇宙システムを開発するための一連のレコメンデーションを提供する。
論文 参考訳(メタデータ) (2024-05-28T12:48:47Z) - JailbreakBench: An Open Robustness Benchmark for Jailbreaking Large Language Models [123.66104233291065]
ジェイルブレイク攻撃は、大きな言語モデル(LLM)が有害、非倫理的、またはその他の不快なコンテンツを生成する原因となる。
これらの攻撃を評価することは、現在のベンチマークと評価テクニックの収集が適切に対処していない、多くの課題を提示します。
JailbreakBenchは、以下のコンポーネントを備えたオープンソースのベンチマークである。
論文 参考訳(メタデータ) (2024-03-28T02:44:02Z) - 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) - RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic
Program Repair [75.40584530380589]
新たな検索型パッチ生成フレームワーク(RAP-Gen)を提案する。
RAP-Gen 以前のバグ修正ペアのリストから取得した関連する修正パターンを明示的に活用する。
RAP-GenをJavaScriptのTFixベンチマークとJavaのCode RefinementとDefects4Jベンチマークの2つのプログラミング言語で評価する。
論文 参考訳(メタデータ) (2023-09-12T08:52:56Z) - A Closer Look at the Security Risks in the Rust Ecosystem [0.0]
Rustは、システムソフトウェアの開発用に設計された新しいプログラミング言語である。
Rustコードの再利用を容易にするため、Rustエコシステムの中心的なパッケージレジストリであるcrates.ioでは、数千のサードパーティのRustパッケージがホストされている。
crates.ioのオープン性はRustエコシステムの成長を可能にするが、深刻なセキュリティアドバイザリによるセキュリティリスクも伴う。
論文 参考訳(メタデータ) (2023-08-29T06:05:25Z) - Fixing Rust Compilation Errors using LLMs [2.1781086368581932]
Rustプログラミング言語は、C/C++のような従来の安全でない代替言語よりも、低レベルのシステムプログラミング言語に実行可能な選択肢として、自らを確立している。
本稿では,Large Language Models(LLMs)の創発的機能を活用し,Rustコンパイルエラーの修正を自動的に提案するRustAssistantというツールを提案する。
RustAssistantは、人気のあるオープンソースRustリポジトリの実際のコンパイルエラーに対して、約74%の驚くべきピーク精度を達成することができる。
論文 参考訳(メタデータ) (2023-08-09T18:30:27Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - Unsafe's Betrayal: Abusing Unsafe Rust in Binary Reverse Engineering
toward Finding Memory-safety Bugs via Machine Learning [20.68333298047064]
Rustは、プログラミングにおけるメモリセーフなバグを避けるために、メモリセーフなメカニズムを提供する。
Rustのユーザビリティを高めるアンセーフコードは、メモリセーフなバグを見つけるための明確な場所を提供する。
これらの安全でないスポットは、マシンラーニングを介してRustバイナリコードで識別可能である、と私たちは主張しています。
論文 参考訳(メタデータ) (2022-10-31T19:32:18Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。