論文の概要: Compiler Testing With Relaxed Memory Models
- arxiv url: http://arxiv.org/abs/2310.12337v1
- Date: Wed, 18 Oct 2023 21:24:26 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-21 14:50:29.195984
- Title: Compiler Testing With Relaxed Memory Models
- Title(参考訳): Relaxedメモリモデルによるコンパイラテスト
- Authors: Luke Geeson, Lee Smith
- Abstract要約: コンパイラが導入したバグの検出方法に重点を置いています。
プログラムサイズに関するバグを自動的にカバーするテスト手法を模索する。
並列プログラムのためのT'el'echatコンパイラテストツールを提案する。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: It is critical that compilers are correct! Finding bugs is one aspect of
testing the correctness of compilers in wide use today. A compiler is correct
if every compiled program behaves as allowed by the semantics of its source
code - else there is a bug. Memory consistency models define the semantics of
concurrent programs. We focus on how to detect concurrency bugs introduced by
compilers, as identified using memory models. 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 finds a concurrency bug when 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. 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.
- Abstract(参考訳): コンパイラが正しいことは重要です!
バグを見つけることは、現在広く使われているコンパイラの正確性をテストする一面である。
もしコンパイルされたプログラムがソースコードのセマンティクスによって許容されるように振る舞うなら、コンパイラは正しい。
メモリ一貫性モデルは並列プログラムのセマンティクスを定義する。
メモリモデルを用いて、コンパイラが導入した並行性バグの検出方法に焦点を当てる。
プログラムサイズの固定境界まで自動的に並列バグをカバーし、多数のコードでコンパイルされたプログラムのバグを見つけるためにスケールするテスト手法を模索する。
そうでなければ、テストテクニックはバグを見逃す可能性がある。
残念ながら、最先端の技術はこれらの特性をすべて満たしていない。
並列プログラムのためのT'el\'echatコンパイラテストツールを提案する。
t\'el\'echatは、そのアーキテクチャメモリモデルによって許されるように、コンパイルされたプログラムの振る舞いがソースモデルの下でソースプログラムの振る舞いではない場合に、並行性のバグを見つける。
t\'el\'echatはマルチスレッド実行のためのコード生成におけるバグ発見の最先端を改善し、業界にデプロイされる並行性のためのコンパイラテストツールの最初の公開記述であり、望ましいプロパティに向けて大きな一歩を踏み出した最初のツールである。
我々は、T'el\'echatが他の最先端技術に欠落したバグを発見したことを示す実験的証拠、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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。