論文の概要: Weak Memory Demands Model-based Compiler Testing
- arxiv url: http://arxiv.org/abs/2401.09474v1
- Date: Fri, 12 Jan 2024 15:50:32 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-22 09:15:51.979399
- Title: Weak Memory Demands Model-based Compiler Testing
- Title(参考訳): 弱いメモリはモデルベースのコンパイラテストを要求する
- Authors: Luke Geeson
- Abstract要約: コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
- 参考スコア(独自算出の注目度): 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: A compiler bug arises if the behaviour of a compiled concurrent program, as
allowed by its architecture memory model, is not a behaviour permitted by the
source program under its source model. One might reasonably think that most
compiler bugs have been found in the decade since the introduction of the C/C++
memory model. We observe that processor implementations are increasingly
exploiting the behaviour of relaxed architecture models. As such, compiled
programs may exhibit bugs not seen on older hardware. To account for this we
require model-based compiler testing.
While this observation is not surprising, its implications are broad.
Compilers and their testing tools will need to be updated to follow hardware
relaxations, concurrent test generators will need to be improved, and
assumptions of prior work will need revisiting. We explore these ideas using a
compiler toolchain bug we reported in LLVM.
- Abstract(参考訳): コンパイラのバグは、コンパイルされたコンカレントプログラムの動作が、アーキテクチャメモリモデルによって許容されるように、ソースモデルの下でソースプログラムによって許容される振る舞いでない場合に発生する。
C/C++メモリモデルが導入されてから10年が経ち、ほとんどのコンパイラのバグが見つかりました。
プロセッサの実装は、緩やかなアーキテクチャモデルの振る舞いをますます活用している。
そのため、コンパイルプログラムは古いハードウェアでは見られないバグを示すことがある。
そのためにはモデルベースのコンパイラテストが必要です。
この観察は驚くべきものではないが、その意味は広い。
コンパイラとそのテストツールはハードウェアのリラクゼーションに従うために更新され、並行テストジェネレータは改善され、以前の作業の仮定は再検討する必要がある。
LLVMで報告したコンパイラツールチェーンバグを使って、これらのアイデアを調査します。
関連論文リスト
- 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) - 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) - PTE: Axiomatic Semantics based Compiler Testing [7.203331838793759]
本稿では,PTEと呼ばれるコンパイラテストのための公理的セマンティクスに基づくアプローチを提案する。
その考え方は、emph(textbfprecondition, textbftransformation, textbfexpectation)という形で言語意味論の逸話を捉えた公理の集合を段階的に発展させることである。
論文 参考訳(メタデータ) (2024-01-02T04:50:47Z) - Compiler Testing With Relaxed Memory Models [0.0]
並列プログラムのためのT'el'echatコンパイラテストツールを提案する。
T'el'echatは並列C/C++プログラムをコンパイルし、ソースとコンパイルされたプログラムの振る舞いを比較する。
論文 参考訳(メタデータ) (2023-10-18T21:24:26Z) - Generative Models as a Complex Systems Science: How can we make sense of
large language model behavior? [75.79305790453654]
事前訓練されたモデルから望ましい振る舞いを排除し、望ましくないモデルを避けながら、NLPを再定義した。
言語モデルの振る舞いをタスク間性能を説明するカテゴリに分解する体系的な取り組みについて論じる。
論文 参考訳(メタデータ) (2023-07-31T22:58:41Z) - A Survey of Modern Compiler Fuzzing [0.0]
この調査は、コンパイラの欠陥を理解し、対処するための研究成果の概要を提供する。
研究者は、その症状や根本原因など、コンパイラーのバグに関する調査と専門知識をカバーしている。
さらに、テストプログラムの構築やテストオラクルの設計など、ファジング技術を設計する研究者の取り組みについても取り上げている。
論文 参考訳(メタデータ) (2023-06-12T06:03:51Z) - A Static Evaluation of Code Completion by Large Language Models [65.18008807383816]
単純なプログラミング問題に対するモデル生成コードの機能的正当性を評価するために,実行ベースベンチマークが提案されている。
プログラムを実行せずにエラーを検出するlinterのような静的解析ツールは、コード生成モデルを評価するために十分に研究されていない。
抽象構文木を利用して,Pythonのコード補完における静的エラーを定量化する静的評価フレームワークを提案する。
論文 参考訳(メタデータ) (2023-06-05T19:23:34Z) - 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) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Configuring Test Generators using Bug Reports: A Case Study of GCC
Compiler and Csmith [2.1016374925364616]
本稿では,バグレポートのコードスニペットを使用して,テスト生成のガイドを行う。
GCCの8つのバージョンでこのアプローチを評価します。
我々は,本手法がGCCの最先端テスト生成技術よりも高いカバレッジを提供し,誤コンパイル障害を引き起こすことを発見した。
論文 参考訳(メタデータ) (2020-12-19T11:25:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。