論文の概要: Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing
- arxiv url: http://arxiv.org/abs/2507.06584v1
- Date: Wed, 09 Jul 2025 06:33:06 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-07-10 17:37:43.49348
- Title: Finding Compiler Bugs through Cross-Language Code Generator and Differential Testing
- Title(参考訳): クロスランゲージコードジェネレータと差分テストによるコンパイラバグの検出
- Authors: Qiong Feng, Xiaotian Ma, Ziyuan Feng, Marat Akhin, Wei Song, Peng Liang,
- Abstract要約: CrossLangFuzzerは多種多様な型パラメータと複雑な継承構造を持つ言語横断のテストプログラムを生成する。
Kotlinコンパイラの10のバグ、Groovyコンパイラの4つのバグ、Scala 3コンパイラの7つのバグ、Scala 2コンパイラの2つのバグ、Javaコンパイラの1つのバグを発見した。
- 参考スコア(独自算出の注目度): 4.072167151876496
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Compilers play a central role in translating high-level code into executable programs, making their correctness essential for ensuring code safety and reliability. While extensive research has focused on verifying the correctness of compilers for single-language compilation, the correctness of cross-language compilation - which involves the interaction between two languages and their respective compilers - remains largely unexplored. To fill this research gap, we propose CrossLangFuzzer, a novel framework that introduces a universal intermediate representation (IR) for JVM-based languages and automatically generates cross-language test programs with diverse type parameters and complex inheritance structures. After generating the initial IR, CrossLangFuzzer applies three mutation techniques - LangShuffler, FunctionRemoval, and TypeChanger - to enhance program diversity. By evaluating both the original and mutated programs across multiple compiler versions, CrossLangFuzzer successfully uncovered 10 confirmed bugs in the Kotlin compiler, 4 confirmed bugs in the Groovy compiler, 7 confirmed bugs in the Scala 3 compiler, 2 confirmed bugs in the Scala 2 compiler, and 1 confirmed bug in the Java compiler. Among all mutators, TypeChanger is the most effective, detecting 11 of the 24 compiler bugs. Furthermore, we analyze the symptoms and root causes of cross-compilation bugs, examining the respective responsibilities of language compilers when incorrect behavior occurs during cross-language compilation. To the best of our knowledge, this is the firstwork specifically focused on identifying and diagnosing compiler bugs in cross-language compilation scenarios. Our research helps to understand these challenges and contributes to improving compiler correctness in multi-language environments.
- Abstract(参考訳): コンパイラは高レベルのコードを実行可能なプログラムに変換する上で中心的な役割を果たす。
シングル言語コンパイルのコンパイラの正当性を検証する研究が盛んに行われているが、言語間のコンパイルの正当性は、2つの言語とそれぞれのコンパイラ間の相互作用に関係している。
この研究ギャップを埋めるために、JVMベースの言語に共通中間表現(IR)を導入し、多種多様な型パラメータと複雑な継承構造を持つクロス言語テストプログラムを自動的に生成する新しいフレームワークであるCrossLangFuzzerを提案する。
最初のIRを生成した後、CrossLangFuzzerはプログラムの多様性を高めるために、LangShuffler、FunctionRemoval、TypeChangerの3つの突然変異テクニックを適用している。
オリジナルのプログラムと変更プログラムを複数のコンパイラバージョンで評価することにより、CrossLangFuzzerは、Kotlinコンパイラの10の確認バグ、Groovyコンパイラの4の確認バグ、Scala 3コンパイラの7の確認バグ、Scala 2コンパイラの2の確認バグ、Javaコンパイラの1の確認バグを発見した。
すべてのミュータの中で、TypeChangerが最も効果的で、24のコンパイラのバグのうち11が検出される。
さらに,クロスコンパイルバグの症状や根本原因を分析し,クロスコンパイル中に誤動作が発生した場合の言語コンパイラの責任について検討する。
私たちの知る限りでは、クロス言語コンパイルシナリオにおけるコンパイラのバグの特定と診断に特化している最初の作業です。
本研究は,これらの課題の理解に役立ち,多言語環境におけるコンパイラの正確性向上に寄与する。
関連論文リスト
- CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.1875460416205]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Towards Understanding the Bugs in Solidity Compiler [11.193701473232851]
本稿では,533のSolidityコンパイラのバグに関する最初の系統的研究について述べる。
本研究は, その特徴(症状, 根本原因, 分布など)とトリガー試験例について検討した。
次に,Solidityコンパイラファザの限界について検討するため,Solidityコンパイラファザを3つ評価した。
論文 参考訳(メタデータ) (2024-07-08T14:22:50Z) - Evolutionary Generative Fuzzing for Differential Testing of the Kotlin
Compiler [14.259471945857431]
JetBrainsが開発したKotlinコンパイラのバグ発見における差分テストの有効性について検討する。
そこで我々は,K1コンパイラとK2コンパイラの入力プログラムを生成するブラックボックス生成手法を提案する。
ケーススタディでは,提案手法がK1とK2のバグを効果的に検出している。
論文 参考訳(メタデータ) (2024-01-12T16:01:12Z) - PTE: Axiomatic Semantics based Compiler Testing [7.203331838793759]
本稿では,PTEと呼ばれるコンパイラテストのための公理的セマンティクスに基づくアプローチを提案する。
その考え方は、emph(textbfprecondition, textbftransformation, textbfexpectation)という形で言語意味論の逸話を捉えた公理の集合を段階的に発展させることである。
論文 参考訳(メタデータ) (2024-01-02T04:50:47Z) - AdaCCD: Adaptive Semantic Contrasts Discovery Based Cross Lingual
Adaptation for Code Clone Detection [69.79627042058048]
AdaCCDは、その言語でアノテーションを使わずに、新しい言語のクローンコードを検出する新しい言語間適応手法である。
5つのプログラミング言語からなる多言語コードクローン検出ベンチマークを構築し,AdaCCDの言語間適応性を評価する。
論文 参考訳(メタデータ) (2023-11-13T12:20:48Z) - 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) - Using Developer Discussions to Guide Fixing Bugs in Software [51.00904399653609]
我々は,タスク実行前に利用可能であり,また自然発生しているバグレポートの議論を,開発者による追加情報の必要性を回避して利用することを提案する。
このような議論から派生したさまざまな自然言語コンテキストがバグ修正に役立ち、オラクルのバグ修正コミットに対応するコミットメッセージの使用よりもパフォーマンスの向上につながることを実証する。
論文 参考訳(メタデータ) (2022-11-11T16:37:33Z) - Zero-Shot Cross-lingual Semantic Parsing [56.95036511882921]
7つのテスト言語に対する並列データを持たないゼロショット問題として,言語間セマンティックパーシングについて検討した。
英文論理形式ペアデータのみを用いて解析知識を付加言語に転送するマルチタスクエンコーダデコーダモデルを提案する。
このシステムは、ゼロショット解析を潜時空間アライメント問題としてフレーム化し、事前訓練されたモデルを改善し、最小のクロスリンガル転送ペナルティで論理形式を生成することができる。
論文 参考訳(メタデータ) (2021-04-15T16:08:43Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。