論文の概要: Compiler Testing With Relaxed Memory Models
- arxiv url: http://arxiv.org/abs/2310.12337v3
- Date: Mon, 29 Jan 2024 20:38:43 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-31 18:39:36.664133
- Title: Compiler Testing With Relaxed Memory Models
- Title(参考訳): Relaxedメモリモデルによるコンパイラテスト
- Authors: Luke Geeson, Lee Smith
- Abstract要約: 並列プログラムのためのT'el'echatコンパイラテストツールを提案する。
T'el'echatは並列C/C++プログラムをコンパイルし、ソースとコンパイルされたプログラムの振る舞いを比較する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Finding bugs is key to the correctness of compilers in wide use today. If the
behaviour of a compiled program, as allowed by its architecture memory model,
is not a behaviour of the source program under its source model, then there is
a bug. This holds for all programs, but we focus on concurrency bugs that occur
only with two or more threads of execution. We focus on testing techniques that
detect such bugs in C/C++ compilers.
We seek a testing technique that automatically covers concurrency bugs up to
fixed bounds on program sizes and that scales to find bugs in compiled programs
with many lines of code. Otherwise, a testing technique can miss bugs.
Unfortunately, the state-of-the-art techniques are yet to satisfy all of these
properties.
We present the T\'el\'echat compiler testing tool for concurrent programs.
T\'el\'echat compiles a concurrent C/C++ program and compares source and
compiled program behaviours using source and architecture memory models. We
make three claims: T\'el\'echat improves the state-of-the-art at finding bugs
in code generation for multi-threaded execution, it is the first public
description of a compiler testing tool for concurrency that is deployed in
industry, and it is the first tool that takes a significant step towards the
desired properties. We provide experimental evidence suggesting T\'el\'echat
finds bugs missed by other state-of-the-art techniques, case studies indicating
that T\'el\'echat satisfies the properties, and reports of our experience
deploying T\'el\'echat in industry regression testing.
- Abstract(参考訳): バグを見つけることは、現在広く使われているコンパイラの正しさの鍵である。
コンパイルされたプログラムの動作が、アーキテクチャメモリモデルによって許されるように、ソースモデルの下でソースプログラムの動作ではない場合、バグが発生する。
これはすべてのプログラムに当てはまるが、2つ以上の実行スレッドでのみ発生する並行性バグに焦点を当てる。
C/C++コンパイラのそのようなバグを検出するテスト技術に注力する。
プログラムサイズの固定境界まで自動的に並列バグをカバーし、多数のコードでコンパイルされたプログラムのバグを見つけるためにスケールするテスト手法を模索する。
そうでなければ、テストテクニックはバグを見逃す可能性がある。
残念ながら、最先端の技術はこれらの特性をすべて満たしていない。
並列プログラムのためのT'el\'echatコンパイラテストツールを提案する。
T\'el\'echatは並列C/C++プログラムをコンパイルし、ソースとアーキテクチャのメモリモデルを使用して、ソースとコンパイルされたプログラムの振る舞いを比較する。
t\'el\'echatはマルチスレッド実行のためのコード生成におけるバグ発見の最先端を改善し、業界にデプロイされる並行性のためのコンパイラテストツールの最初の公開記述であり、望ましいプロパティに向けて大きな一歩を踏み出した最初のツールである。
我々はT'el\'echatが他の最先端技術に欠落しているバグを発見したことを示す実験的な証拠を提供する。
関連論文リスト
- 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) - CITADEL: Context Similarity Based Deep Learning Framework Bug Finding [36.34154201748415]
既存のディープラーニング(DL)フレームワークテストツールには、バグタイプが限定されている。
我々はCitadelを提案する。Citadelは効率と有効性の観点からバグの発見を高速化する手法だ。
論文 参考訳(メタデータ) (2024-06-18T01:51:16Z) - Evolutionary Generative Fuzzing for Differential Testing of the Kotlin
Compiler [14.259471945857431]
JetBrainsが開発したKotlinコンパイラのバグ発見における差分テストの有効性について検討する。
そこで我々は,K1コンパイラとK2コンパイラの入力プログラムを生成するブラックボックス生成手法を提案する。
ケーススタディでは,提案手法がK1とK2のバグを効果的に検出している。
論文 参考訳(メタデータ) (2024-01-12T16:01:12Z) - Weak Memory Demands Model-based Compiler Testing [0.0]
コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
論文 参考訳(メタデータ) (2024-01-12T15:50:32Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [80.73121177868357]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用および4つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - HyperPUT: Generating Synthetic Faulty Programs to Challenge Bug-Finding
Tools [3.8520163964103835]
シードバグのあるプログラムを自動的に生成する補完的手法を提案する。
プログラム変換を漸進的に適用することで、"シード"バグからCプログラムを構築します。
論文 参考訳(メタデータ) (2022-09-14T13:09:41Z) - BigIssue: A Realistic Bug Localization Benchmark [89.8240118116093]
BigIssueは、現実的なバグローカライゼーションのためのベンチマークである。
実際のJavaバグと合成Javaバグの多様性を備えた一般的なベンチマークを提供する。
われわれは,バグローカライゼーションの最先端技術として,APRの性能向上と,現代の開発サイクルへの適用性の向上を期待している。
論文 参考訳(メタデータ) (2022-07-21T20:17:53Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。