論文の概要: UBfuzz: Finding Bugs in Sanitizer Implementations
- arxiv url: http://arxiv.org/abs/2401.04538v1
- Date: Tue, 9 Jan 2024 13:22:33 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-10 15:33:12.153403
- Title: UBfuzz: Finding Bugs in Sanitizer Implementations
- Title(参考訳): UBfuzz:サニタイザ実装でバグを見つける
- Authors: Shaohua Li, Zhendong Su
- Abstract要約: コアコンポーネントは(1)未定義の動作を含むプログラムを生成するために特別に設計されたプログラムジェネレータである。
生成したUBプログラムはその後、複数のサニタイザ実装の差分テストに使用される。
われわれの技術は、消毒剤を検査するための実用ツールUBfuzzに組み込まれている。
- 参考スコア(独自算出の注目度): 15.070062082861874
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: In this paper, we propose a testing framework for validating sanitizer
implementations in compilers. Our core components are (1) a program generator
specifically designed for producing programs containing undefined behavior
(UB), and (2) a novel test oracle for sanitizer testing. The program generator
employs Shadow Statement Insertion, a general and effective approach for
introducing UB into a valid seed program. The generated UB programs are
subsequently utilized for differential testing of multiple sanitizer
implementations. Nevertheless, discrepant sanitizer reports may stem from
either compiler optimization or sanitizer bugs. To accurately determine if a
discrepancy is caused by sanitizer bugs, we introduce a new test oracle called
crash-site mapping. We have incorporated our techniques into UBfuzz, a
practical tool for testing sanitizers. Over a five-month testing period, UBfuzz
successfully found 31 bugs in both GCC and LLVM sanitizers. These bugs reveal
the serious false negative problems in sanitizers, where certain UBs in
programs went unreported. This research paves the way for further investigation
in this crucial area of study.
- Abstract(参考訳): 本稿では,コンパイラのサニタイザ実装を検証するためのテストフレームワークを提案する。
私たちのコアコンポーネントは、(1)未定義の振る舞い(ub)を含むプログラムを生産するために特別に設計されたプログラムジェネレータ、(2)サニタイザーテスト用の新しいテストオラクルです。
プログラムジェネレータは、有効なシードプログラムにubを導入する汎用的かつ効果的なアプローチであるシャドーステートメント挿入を用いる。
生成したUBプログラムはその後、複数のサニタイザ実装の差分テストに使用される。
それでも、散在するサニタイザレポートは、コンパイラ最適化またはサニタイザバグに由来する可能性がある。
消毒剤のバグによって相違が生じているかどうかを正確に判定するために,クラッシュサイトマッピングと呼ばれる新しいテストオラクルを導入する。
われわれの技術は、消毒剤を検査するための実用ツールUBfuzzに組み込まれている。
5ヶ月のテスト期間を通じて、UBfuzzはGCCとLLVMサニタイザの両方で31のバグを発見した。
これらのバグは、プログラム内の特定のubが報告されていないサニタイザーの深刻な偽陰性問題を明らかにする。
この研究は、この重要な研究領域におけるさらなる調査の道を開くものだ。
関連論文リスト
- $\mathbb{USCD}$: Improving Code Generation of LLMs by Uncertainty-Aware Selective Contrastive Decoding [64.00025564372095]
大規模言語モデル(LLM)は、コード生成において顕著な能力を示している。
幻覚の影響(例えば出力ノイズ)は、LLMが1パスで高品質なコードを生成するのを難しくする。
単純かつ効果的なtextbfuncertainty-aware textbf select textbfcontrastive textbfdecodingを提案する。
論文 参考訳(メタデータ) (2024-09-09T02:07:41Z) - MOTIF: A tool for Mutation Testing with Fuzzing [3.4742750855568763]
ミューテーションテストは、セーフティクリティカルなサイバー物理システムで動作する組み込みソフトウェアにとって望ましいプラクティスである。
MOTIFは、グレーボックスファジィツールを活用して、ミュータント内の注入された欠陥を検出するCの単体テストケースを生成することで制限を克服する。
論文 参考訳(メタデータ) (2024-06-04T15:12:01Z) - SAND: Decoupling Sanitization from Fuzzing for Low Overhead [13.473109969308164]
Sanitizersは、さまざまなソフトウェア脆弱性に対して堅牢なテストオラクルを提供する。
サニタイザ対応プログラムのファジィングは、ソフトウェアバグを見つけるためのベストプラクティスです。
ファジィリングループから衛生化を分離する新しいファジィングフレームワークであるSANDを提示する。
論文 参考訳(メタデータ) (2024-02-26T11:30:34Z) - Evolutionary Generative Fuzzing for Differential Testing of the Kotlin
Compiler [14.259471945857431]
JetBrainsが開発したKotlinコンパイラのバグ発見における差分テストの有効性について検討する。
そこで我々は,K1コンパイラとK2コンパイラの入力プログラムを生成するブラックボックス生成手法を提案する。
ケーススタディでは,提案手法がK1とK2のバグを効果的に検出している。
論文 参考訳(メタデータ) (2024-01-12T16:01:12Z) - Precise Error Rates for Computationally Efficient Testing [75.63895690909241]
本稿では,計算複雑性に着目した単純な対数-単純仮説テストの問題を再考する。
線形スペクトル統計に基づく既存の試験は、I型とII型の誤差率の間の最良のトレードオフ曲線を達成する。
論文 参考訳(メタデータ) (2023-11-01T04:41:16Z) - 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) - Directed Test Program Generation for JIT Compiler Bug Localization [3.626013617212667]
Just-in-Time(JIT)コンパイラのバグローカライズ技術は、この目的のために生成されたテストプログラムのセット上で、ターゲットJITコンパイラの実行動作を分析することに基づいている。
本稿ではJITコンパイラのバグローカライゼーションのための新しいテストプログラム生成手法を提案する。
論文 参考訳(メタデータ) (2023-07-17T22:43:02Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z) - Noisy Adaptive Group Testing using Bayesian Sequential Experimental
Design [63.48989885374238]
病気の感染頻度が低い場合、Dorfman氏は80年前に、人のテストグループは個人でテストするよりも効率が良いことを示した。
本研究の目的は,ノイズの多い環境で動作可能な新しいグループテストアルゴリズムを提案することである。
論文 参考訳(メタデータ) (2020-04-26T23:41:33Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。