論文の概要: A Survey of Modern Compiler Fuzzing
- arxiv url: http://arxiv.org/abs/2306.06884v3
- Date: Fri, 16 Jun 2023 08:09:41 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 03:41:36.312900
- Title: A Survey of Modern Compiler Fuzzing
- Title(参考訳): 現代のコンパイラファジィに関する調査
- Authors: Haoyang Ma
- Abstract要約: この調査は、コンパイラの欠陥を理解し、対処するための研究成果の概要を提供する。
研究者は、その症状や根本原因など、コンパイラーのバグに関する調査と専門知識をカバーしている。
さらに、テストプログラムの構築やテストオラクルの設計など、ファジング技術を設計する研究者の取り組みについても取り上げている。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Most software that runs on computers undergoes processing by compilers. Since
compilers constitute the fundamental infrastructure of software development,
their correctness is paramount. Over the years, researchers have invested in
analyzing, understanding, and characterizing the bug features over mainstream
compilers. These studies have demonstrated that compilers correctness requires
greater research attention, and they also pave the way for compiler fuzzing. To
improve compilers correctness, researchers have proposed numerous compiler
fuzzing techniques. These techniques were initially developed for testing
traditional compilers such as GCC/LLVM and have since been generalized to test
various newly developed, domain-specific compilers, such as graphics shader
compilers and deep learning (DL) compilers. In this survey, we provide a
comprehensive summary of the research efforts for understanding and addressing
compilers defects. Specifically, this survey mainly covers two aspects. First,
it covers researchers investigation and expertise on compilers bugs, such as
their symptoms and root causes. The compiler bug studies cover GCC/LLVM, JVM
compilers, and DL compilers. In addition, it covers researchers efforts in
designing fuzzing techniques, including constructing test programs and
designing test oracles. Besides discussing the existing work, this survey
outlines several open challenges and highlights research opportunities.
- Abstract(参考訳): コンピュータ上で動作するほとんどのソフトウェアは、コンパイラによって処理される。
コンパイラはソフトウェア開発の基本インフラストラクチャを構成するため、その正確性が最優先される。
長年にわたって、研究者は主流のコンパイラよりもバグの特徴を分析し、理解し、特徴づけてきた。
これらの研究は、コンパイラの正しさはより研究の注意を必要とすることを示し、コンパイラファジィ化の道を開くことも示している。
コンパイラの正確性を改善するため、研究者は多数のコンパイラファジング技術を提案した。
これらの技術は、GCC/LLVMのような従来のコンパイラをテストするために開発され、その後、グラフィックシェーダーコンパイラやディープラーニング(DL)コンパイラといった、新しく開発されたドメイン固有の様々なコンパイラをテストするために一般化された。
本稿では,コンパイラの欠陥の理解と対処に向けた研究成果について概説する。
特に、この調査は2つの側面を主にカバーしている。
まず、その症状や根本原因など、コンパイラーのバグに関する調査と専門知識をカバーしている。
コンパイラのバグ研究は、gcc/llvm、jvmコンパイラ、dlコンパイラをカバーする。
さらに、テストプログラムの構築やテストオラクルの設計など、ファジングテクニックの設計に関する研究者の努力もカバーしている。
既存の研究の議論に加えて、いくつかのオープンな課題を概説し、研究の機会を強調している。
関連論文リスト
- Towards Understanding the Bugs in Solidity Compiler [11.193701473232851]
本稿では,533のSolidityコンパイラのバグに関する最初の系統的研究について述べる。
本研究は, その特徴(症状, 根本原因, 分布など)とトリガー試験例について検討した。
次に,Solidityコンパイラファザの限界について検討するため,Solidityコンパイラファザを3つ評価した。
論文 参考訳(メタデータ) (2024-07-08T14:22:50Z) - KGym: A Platform and Dataset to Benchmark Large Language Models on Linux Kernel Crash Resolution [59.20933707301566]
大規模言語モデル(LLM)は、ますます現実的なソフトウェア工学(SE)タスクにおいて一貫して改善されている。
現実世界のソフトウェアスタックでは、Linuxカーネルのような基本的なシステムソフトウェアの開発にSEの取り組みが費やされています。
このような大規模システムレベルのソフトウェアを開発する際にMLモデルが有用かどうかを評価するため、kGymとkBenchを紹介する。
論文 参考訳(メタデータ) (2024-07-02T21:44:22Z) - DevBench: A Comprehensive Benchmark for Software Development [72.24266814625685]
DevBenchは、ソフトウェア開発ライフサイクルのさまざまな段階にわたる大規模言語モデル(LLM)を評価するベンチマークである。
GPT-4-Turboを含む現在のLLMは、DevBench内での課題の解決に失敗している。
本研究は,LLMを現実のプログラミングアプリケーションに展開する上で,現実的な知見を提供するものである。
論文 参考訳(メタデータ) (2024-03-13T15:13:44Z) - Weak Memory Demands Model-based Compiler Testing [0.0]
コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
論文 参考訳(メタデータ) (2024-01-12T15:50:32Z) - WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models [11.33856613057612]
提案するWhiteFoxは,ソースコード情報付きLarge Language Modelを用いた,最初のホワイトボックスコンパイラファザである。
WhiteFoxは、高度な最適化を行うための高品質なテストプログラムを生成することができる。
WhiteFoxはDLコンパイラの101のバグを発見した。
論文 参考訳(メタデータ) (2023-10-24T16:39:06Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Dcc --help: Generating Context-Aware Compiler Error Explanations with
Large Language Models [53.04357141450459]
dcc --helpはCS1とCS2のコースにデプロイされ、2565人の学生が10週間で64,000回以上このツールを使っている。
LLMが生成した説明は、コンパイル時間の90%と実行時の75%で概念的に正確であるが、コードに解決策を提供しない命令を無視することが多かった。
論文 参考訳(メタデータ) (2023-08-23T02:36:19Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
この研究は、HDC分類メソッドの高レベルな記述を最適化されたCコードに変換する最初のオープンソースコンパイラである、ネームコンパイラを紹介している。
nameは現代のコンパイラのように設計されており、直感的で記述的な入力言語、中間表現(IR)、再ターゲット可能なバックエンドを備えている。
これらの主張を裏付けるために,HDC文献で最もよく使われているデータセットについて,HDCCを用いて実験を行った。
論文 参考訳(メタデータ) (2023-04-24T19:16:03Z) - CompilerGym: Robust, Performant Compiler Optimization Environments for
AI Research [26.06438868492976]
コンパイラ最適化に人工知能(AI)技術を適用することへの関心は急速に高まっている。
しかし、コンパイラー研究は高い参入障壁を持っている。
実世界のコンパイラ最適化タスクのための環境セットであるCompilerGymを紹介する。
また、コンパイラ研究者に新しい最適化タスクを公開するツールキットも導入する。
論文 参考訳(メタデータ) (2021-09-17T01:02:27Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z) - Extending C++ for Heterogeneous Quantum-Classical Computing [56.782064931823015]
qcorはC++とコンパイラの実装の言語拡張で、異種量子古典プログラミング、コンパイル、単一ソースコンテキストでの実行を可能にする。
我々の研究は、量子言語で高レベルな量子カーネル(関数)を表現できる、第一種C++コンパイラを提供する。
論文 参考訳(メタデータ) (2020-10-08T12:49:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。