論文の概要: AddressWatcher: Sanitizer-Based Localization of Memory Leak Fixes
- arxiv url: http://arxiv.org/abs/2408.04764v1
- Date: Thu, 8 Aug 2024 21:40:22 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-12 17:08:34.648325
- Title: AddressWatcher: Sanitizer-Based Localization of Memory Leak Fixes
- Title(参考訳): AddressWatcher: メモリリークフィックスのサニタイザに基づくローカライズ
- Authors: Aniruddhan Murali, Mahmoud Alfadel, Meiyappan Nagappan, Meng Xu, Chengnian Sun,
- Abstract要約: メモリリークバグはC/C++プログラムで大きな問題である。
メモリリークを自動的に修正する手法がいくつか提案されている。
静的ベースのアプローチは、すべてのパスにわたるメモリオブジェクトの完全なセマンティクスをトレースしようとする。
動的アプローチは、単一の実行パスでのみメモリオブジェクトの正確なセマンティクスを記述できる。
- 参考スコア(独自算出の注目度): 6.31619298702529
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Memory leak bugs are a major problem in C/C++ programs. They occur when memory objects are not deallocated.Developers need to manually deallocate these objects to prevent memory leaks. As such, several techniques have been proposed to automatically fix memory leaks. Although proposed approaches have merit in automatically fixing memory leaks, they present limitations. Static-based approaches attempt to trace the complete semantics of memory object across all paths. However, they have scalability-related challenges when the target program has a large number of leaked paths. On the other hand, dynamic approaches can spell out precise semantics of memory object only on a single execution path (not considering multiple execution paths). In this paper, we complement prior approaches by designing and implementing a novel framework named AddressWatcher. AddressWatcher allows the semantics of a memory object to be tracked on multiple execution paths as a dynamic approach. Addresswatcher accomplishes this by using a leak database that is designed to allow storing and comparing different execution paths of a leak over several test cases. We conduct an evaluation of AddressWatcher on a benchmark of five open-source packages, namely binutils, openssh, tmux, openssl and git. In 23 out of the 50 examined memory leak bugs, AddressWatcher correctly points to a free location to fix memory leaks. Moreover, we submitted 25 new pull requests (PRs) to 12 popular open-source project repositories. These PRs targeted the resolution of memory leaks within these repositories. Among these, 21 PRs were merged, addressing 5 open GitHub issues. In fact, a critical fix prompted a new version release for the calc repository, a program used to find large primes. Furthermore, our contributions through these PRs sparked intense discussions and appreciation in various repositories such as coturn, h2o, and radare2.
- Abstract(参考訳): メモリリークバグはC/C++プログラムで大きな問題である。
メモリリークを防ぐために、開発者はこれらのオブジェクトを手動で再配置する必要がある。
そのため,メモリリークを自動的に修正する手法がいくつか提案されている。
提案手法はメモリリークを自動的に修正する上でメリットがあるが、制限がある。
静的ベースのアプローチは、すべてのパスにわたるメモリオブジェクトの完全なセマンティクスをトレースしようとする。
しかし、ターゲットプログラムに大量のリークパスがある場合、スケーラビリティに関する課題がある。
一方、動的アプローチは、単一の実行パスのみにメモリオブジェクトの正確なセマンティクスをスペルする(複数の実行パスを考慮しない)。
本稿では,AddressWatcherという新しいフレームワークを設計,実装することで,従来のアプローチを補完する。
AddressWatcherは動的アプローチとして、メモリオブジェクトのセマンティクスを複数の実行パスで追跡することを可能にする。
Addresswatcherは、複数のテストケースに対してリークの異なる実行パスを保存および比較できるように設計されたリークデータベースを使用することで、これを実現する。
我々は、binutils、openssh、tmux、openssl、gitという5つのオープンソースパッケージのベンチマークでAddressWatcherの評価を行う。
メモリリークのバグを調べた50件中23件で、AddressWatcherは、メモリリークを修正するための無料の場所を正しく指している。
さらに、12の人気のあるオープンソースプロジェクトリポジトリに25の新しいプルリクエスト(PR)を提出しました。
これらのPRは、リポジトリ内のメモリリークの解決をターゲットにしている。
このうち、21のPRがマージされ、5つのオープンなGitHub問題に対処した。
実際、重大な修正が、大きな素数を見つけるために使われたプログラムであるcalcリポジトリの新しいバージョンリリースを引き起こした。
さらに,これらのPRを通じて,コターン,h2o,レーダ2などのレポジトリで激しい議論と評価を巻き起こした。
関連論文リスト
- BitStack: Fine-Grained Size Control for Compressed Large Language Models in Variable Memory Environments [53.71158537264695]
大規模言語モデル(LLM)は、多くのアプリケーションに革命をもたらしたが、ローカルデバイスにおけるメモリ制限により、その展開は依然として困難である。
textbfBitStackは,メモリ使用量とモデル性能のトレードオフを可能にする,新しいトレーニング不要な重み圧縮手法である。
論文 参考訳(メタデータ) (2024-10-31T13:26:11Z) - Host-Based Allocators for Device Memory [1.2289361708127877]
割り当てアルゴリズムはホストメモリ上で実行されるが、デバイスメモリを割り当てるので、アロケータはアロケータが割り当てているメモリを読み取ることができない。
これはつまり,ほぼすべてのアロケーションアルゴリズムにおいて,ユビキタスな概念である境界タグを使用できない,ということです。
本稿では,この制約を回避するための代替アルゴリズムを提案する。
論文 参考訳(メタデータ) (2024-05-11T19:28:37Z) - SeMalloc: Semantics-Informed Memory Allocator [18.04397502953383]
UAF(Use-after-free)は、メモリアンセーフ言語において重要な問題である。
ヒープオブジェクトに関するより多くのセマンティクスをアロケータに渡すことで、トリニティをバランスさせる方法の1つを示します。
SeMallocでは、同じコールサイトから割り当てられたヒープオブジェクトと、同じ関数呼び出しスタックを介して、仮想メモリアドレスを共有することができる。
論文 参考訳(メタデータ) (2024-02-02T21:02:15Z) - LeakPair: Proactive Repairing of Memory Leaks in Single Page Web
Applications [1.9757735090956159]
LeakPairはシングルページアプリケーションのメモリリークを修復するテクニックである。
明示的なリーク検出を使わずに,20以上のオープンソースプロジェクトでこの手法を評価した。
論文 参考訳(メタデータ) (2023-08-16T04:36:41Z) - rCanary: Detecting Memory Leaks Across Semi-automated Memory Management Boundary in Rust [4.616001680122352]
Rustはコンパイル時の検証を通じてメモリ安全性を保証するシステムプログラミング言語である。
本稿では,半自動境界を越えたリークを検出する静的,非自動,完全自動モデルチェッカーであるrCanaryを提案する。
論文 参考訳(メタデータ) (2023-08-09T08:26:04Z) - NeuDep: Neural Binary Memory Dependence Analysis [28.33030658966508]
本稿では,バイナリプログラムの実行方法に関する学習知識を活用して,メモリ依存を予測するための機械学習に基づく新しいアプローチを提案する。
我々はNeuDepにアプローチを実装し、2つのコンパイラ、4つの最適化、4つの難読パスでコンパイルされた41の人気のあるソフトウェアプロジェクトで評価する。
論文 参考訳(メタデータ) (2022-10-04T04:59:36Z) - 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) - ROME: Robustifying Memory-Efficient NAS via Topology Disentanglement and
Gradient Accumulation [106.04777600352743]
微分可能なアーキテクチャサーチ(DARTS)は、スーパーネット全体がメモリに格納されているため、メモリコストが大幅に低下する。
シングルパスのDARTSが登場し、各ステップでシングルパスのサブモデルのみを選択する。
メモリフレンドリーだが、計算コストも低い。
RObustifying Memory-Efficient NAS (ROME) と呼ばれる新しいアルゴリズムを提案する。
論文 参考訳(メタデータ) (2020-11-23T06:34:07Z) - 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) - DMV: Visual Object Tracking via Part-level Dense Memory and Voting-based
Retrieval [61.366644088881735]
DMVと呼ばれる部分レベル高密度メモリと投票ベースの検索による新しいメモリベースのトラッカーを提案する。
また,メモリの信頼できない情報をフィルタリングする新たな投票機構を提案する。
論文 参考訳(メタデータ) (2020-03-20T10:05:30Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。