論文の概要: rCanary: Detecting Memory Leaks Across Semi-automated Memory Management
Boundary in Rust
- arxiv url: http://arxiv.org/abs/2308.04787v1
- Date: Wed, 9 Aug 2023 08:26:04 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-23 15:02:42.555756
- Title: rCanary: Detecting Memory Leaks Across Semi-automated Memory Management
Boundary in Rust
- Title(参考訳): rCanary: Rustの半自動メモリ管理境界を越えてメモリリークを検出する
- Authors: Mohan Cui, Suran Sun, Hui Xu, Yangfan Zhou
- Abstract要約: Rustはコンパイル時の検証を通じてメモリ安全性を保証するシステムプログラミング言語である。
リソースの自動配置を容易にするために、新しいオーナシップベースのリソース管理モデルを採用している。
半自動境界における漏洩を検出するために,非侵襲的で完全自動化されたモデルチェッカーであるrCanaryを提案する。
- 参考スコア(独自算出の注目度): 4.981203415693332
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Rust is an effective system programming language that guarantees memory
safety via compile-time verifications. It employs a novel ownership-based
resource management model to facilitate automated resource deallocation. It is
anticipated that this model will eliminate memory leaks. However, we observed
that user intervention driving semi-automated management is prone to
introducing leaks. In contrast to violating memory-safety guarantees via the
unsafe keyword, the leak breached boundary is implicit with no compiler
alerting. In this paper, we present rCanary, a static, non-intrusive, and fully
automated model checker to detect leaks across the semi-automated boundary. It
adopts a precise encoder to abstract data with heap allocation and formalizes a
refined leak-free memory model based on Boolean satisfiability. rCanary is
implemented as an external component of Cargo and can generate constraints via
MIR data flow. We evaluate it using flawed package benchmarks collected from
the pull requests of prominent Rust packages. The results indicate it is
possible to recall all these defects with acceptable false positives. We also
apply our tool to more than 1,200 real-world crates from crates.io and GitHub,
identifying 19 crates with potentially vulnerable leaks in 8.4 seconds per
package.
- Abstract(参考訳): Rustは、コンパイル時検証によるメモリ安全性を保証する効果的なシステムプログラミング言語である。
新たなオーナシップベースのリソース管理モデルを採用し、リソースの割り当てを自動化する。
このモデルはメモリリークをなくすことが期待されている。
しかし, ユーザ介入による半自動管理は, 漏えいを起こす傾向がみられた。
アンセーフキーワードによるメモリ安全性保証を侵害するのとは対照的に、漏洩した境界はコンパイラの警告なしで暗黙的である。
本稿では,半自動境界における漏洩を検出する静的,非侵入的,完全自動モデルチェッカーであるrCanaryを提案する。
ヒープ割り当てでデータを抽象化するために正確なエンコーダを採用し、Booleanの適合性に基づいた洗練されたリークフリーメモリモデルを形式化する。
rCanaryはCargoの外部コンポーネントとして実装されており、MIRデータフローを介して制約を生成することができる。
著名なRustパッケージのプルリクエストから収集した,欠陥のあるパッケージベンチマークを使用して評価する。
その結果,これらすべての欠陥を許容できる偽陽性で思い出すことが可能であることが示唆された。
また、当社のツールをcrates.ioとGitHubから1200以上の現実世界のクレートに適用し、パッケージあたり8.4秒で脆弱性のある19のクレートを特定します。
関連論文リスト
- Yuga: Automatically Detecting Lifetime Annotation Bugs in the Rust
Language [16.56604332678692]
Rustプロジェクトでは、セキュリティ上の脆弱性が報告されている。
これらの脆弱性は、部分的には関数シグネチャの誤った終身アノテーションから生じます。
既存のツールはこれらのバグを検出するのに失敗する。
我々は,新たな静的解析ツールであるYugaを考案し,潜在的なライフタイムアノテーションのバグを検出する。
論文 参考訳(メタデータ) (2023-10-12T17:05:03Z) - LeakPair: Proactive Repairing of Memory Leaks in Single Page Web
Applications [1.9757735090956159]
LeakPairはシングルページアプリケーションのメモリリークを修復するテクニックである。
明示的なリーク検出を使わずに,20以上のオープンソースプロジェクトでこの手法を評価した。
論文 参考訳(メタデータ) (2023-08-16T04:36:41Z) - 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) - A New Era in Software Security: Towards Self-Healing Software via Large
Language Models and Formal Verification [5.509906684981751]
本稿では,Large Language Models(LLM)とFormal Verification戦略を組み合わせた新しいソリューションを提案する。
提案手法は,脆弱なコードの修復において,最大80%の成功率を達成した。
論文 参考訳(メタデータ) (2023-05-24T05:54:10Z) - A Multiplicative Value Function for Safe and Efficient Reinforcement
Learning [131.96501469927733]
本稿では,安全評論家と報酬評論家からなる新しい乗法値関数を持つモデルフリーRLアルゴリズムを提案する。
安全評論家は、制約違反の確率を予測し、制限のないリターンのみを見積もる報酬批評家を割引する。
安全制約を付加した古典的RLベンチマークや、画像を用いたロボットナビゲーションタスク、生のライダースキャンを観察する4つの環境において、本手法の評価を行った。
論文 参考訳(メタデータ) (2023-03-07T18:29:15Z) - Integral Continual Learning Along the Tangent Vector Field of Tasks [112.02761912526734]
本稿では,特殊データセットからの情報を段階的に組み込んだ軽量連続学習手法を提案する。
ソースデータセットの0.4%まで小さく、小さな固定サイズのメモリバッファを保持しており、単純な再サンプリングによって更新される。
提案手法は,異なるデータセットに対して,様々なバッファサイズで高い性能を実現する。
論文 参考訳(メタデータ) (2022-11-23T16:49:26Z) - 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) - GLENet: Boosting 3D Object Detectors with Generative Label Uncertainty
Estimation [59.05097963821385]
本稿では,対象物の潜在的可算有界箱の多様性として,ラベルの不確実性問題を定式化する。
本稿では,条件付き変分オートエンコーダを応用した生成フレームワークであるGLENetを提案する。
GLENetが生成するラベルの不確実性はプラグアンドプレイモジュールであり、既存のディープ3D検出器に便利に統合することができる。
論文 参考訳(メタデータ) (2022-07-06T06:26:17Z) - Recurrent Dynamic Embedding for Video Object Segmentation [54.52527157232795]
一定サイズのメモリバンクを構築するためにRDE(Recurrent Dynamic Embedding)を提案する。
本稿では, SAM を長時間の動画でより堅牢にするため, トレーニング段階での無バイアス誘導損失を提案する。
また、メモリバンクの異なる品質のマスクの埋め込みをネットワークが修復できるように、新たな自己補正戦略を設計する。
論文 参考訳(メタデータ) (2022-05-08T02:24:43Z) - Kanerva++: extending The Kanerva Machine with differentiable, locally
block allocated latent memory [75.65949969000596]
エピソディックメモリとセマンティックメモリは、人間のメモリモデルの重要なコンポーネントです。
我々は、エピソードメモリとセマンティックメモリのギャップを埋める新しい原理ベイズメモリ割り当てスキームを開発しました。
この割り当て方式がメモリ条件画像生成の性能を向上させることを実証する。
論文 参考訳(メタデータ) (2021-02-20T18:40:40Z) - DMV: Visual Object Tracking via Part-level Dense Memory and Voting-based
Retrieval [61.366644088881735]
DMVと呼ばれる部分レベル高密度メモリと投票ベースの検索による新しいメモリベースのトラッカーを提案する。
また,メモリの信頼できない情報をフィルタリングする新たな投票機構を提案する。
論文 参考訳(メタデータ) (2020-03-20T10:05:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。