論文の概要: Isolating Compiler Bugs by Generating Effective Witness Programs with Large Language Models
- arxiv url: http://arxiv.org/abs/2307.00593v2
- Date: Tue, 23 Apr 2024 17:24:06 GMT
- ステータス: 処理完了
- システム内更新日: 2024-04-24 20:14:41.025168
- Title: Isolating Compiler Bugs by Generating Effective Witness Programs with Large Language Models
- Title(参考訳): 大規模言語モデルを用いた効率的なウィットネスプログラム生成によるコンパイラバグの分離
- Authors: Haoxin Tu, Zhide Zhou, He Jiang, Imam Nur Bani Yusuf, Yuxian Li, Lingxiao Jiang,
- Abstract要約: 既存のコンパイラのバグ分離アプローチは、問題をテストプログラムの突然変異問題に変換する。
コンパイラのバグ分離のための効率的なテストプログラムを生成するために,LLM4CBIという新しい手法を提案する。
GCCとLLVMの120以上の実際のバグに対する最先端のアプローチと比較し,LLM4CBIの利点を実証した。
- 参考スコア(独自算出の注目度): 10.660543763757518
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Compiler bugs pose a significant threat to safety-critical applications, and promptly as well as effectively isolating these bugs is crucial for assuring the quality of compilers. However, the limited availability of debugging information on reported bugs complicates the compiler bug isolation task. Existing compiler bug isolation approaches convert the problem into a test program mutation problem, but they are still limited by ineffective mutation strategies or high human effort requirements. Drawing inspiration from the recent progress of pre-trained Large Language Models (LLMs), such as ChatGPT, in code generation, we propose a new approach named LLM4CBI to utilize LLMs to generate effective test programs for compiler bug isolation. However, using LLMs directly for test program mutation may not yield the desired results due to the challenges associated with formulating precise prompts and selecting specialized prompts. To overcome the challenges, three new components are designed in LLM4CBI. First, LLM4CBI utilizes a program complexity-guided prompt production component, which leverages data and control flow analysis to identify the most valuable variables and locations in programs for mutation. Second, LLM4CBI employs a memorized prompt selection component, which adopts reinforcement learning to select specialized prompts for mutating test programs continuously. Third, a test program validation component is proposed to select specialized feedback prompts to avoid repeating the same mistakes during the mutation process. Compared with state-of-the-art approaches over 120 real bugs from GCC and LLVM, our evaluation demonstrates the advantages of LLM4CBI: It can isolate 69.70%/21.74% and 24.44%/8.92% more bugs than DiWi and RecBi within Top-1/Top-5 ranked results. We also demonstrate that the LLMs component used in LLM4CBI can be easily replaced while still achieving reasonable results.
- Abstract(参考訳): コンパイラのバグは、セーフティクリティカルなアプリケーションにとって重大な脅威となり、すぐに、そして、これらのバグを効果的に分離することは、コンパイラの品質の確保に不可欠である。
しかし、報告されたバグのデバッグ情報が限られているため、コンパイラのバグ分離タスクが複雑になる。
既存のコンパイラのバグ分離アプローチは、問題をテストプログラムの突然変異問題に変換するが、それでも非効率的な突然変異戦略や高い人間の努力の要求によって制限されている。
コード生成におけるChatGPTなどのLLM(Pre-trained Large Language Models)の最近の進歩から着想を得て,LLM4CBIと呼ばれる新しいアプローチを提案し,コンパイラバグ分離のための効率的なテストプログラムを生成する。
しかし、試験プログラムの突然変異にLSMを直接使用すると、正確なプロンプトの定式化や特別なプロンプトの選択に関連する課題のために、望ましい結果が得られない可能性がある。
これらの課題を克服するため、3つの新しいコンポーネントがLLM4CBIで設計されている。
まず、LSM4CBIは、プログラムの複雑さを誘導するプロンプト生産コンポーネントを使用し、データと制御フロー分析を利用して、突然変異のためのプログラムにおいて最も価値のある変数と場所を特定する。
第2に、LLM4CBIは記憶されたプロンプト選択コンポーネントを使用し、強化学習を採用して、テストプログラムを継続的に変更するための特別なプロンプトを選択する。
第3に、特定のフィードバックプロンプトを選択するために、突然変異プロセス中に同じミスを繰り返すことを避けるために、テストプログラム検証コンポーネントを提案する。
GCCとLLVMの120以上の実際のバグに対する最先端のアプローチと比較して、我々の評価はLLM4CBIの利点を示している。 69.70%/21.74%と24.44%/8.92%のバグをTop-1/Top-5ランキングでDiWiやRecBiよりも多く分離できる。
また, LLM4CBI で使用される LLMs コンポーネントは, 妥当な結果が得られながら, 容易に置き換えることができることを示した。
関連論文リスト
- PPTC-R benchmark: Towards Evaluating the Robustness of Large Language
Models for PowerPoint Task Completion [96.47420221442397]
文,意味,多言語レベルでユーザ命令を攻撃することにより,逆ユーザ命令を構築する。
我々は、ロバストネス設定を組み込んだベンチマークを用いて、3つのクローズドソースと4つのオープンソースLCMをテストする。
GPT-4は我々のベンチマークで最も高い性能と強靭性を示す。
論文 参考訳(メタデータ) (2024-03-06T15:33:32Z) - DebugBench: Evaluating Debugging Capability of Large Language Models [89.13051256657995]
DebugBench - LLM(Large Language Models)のベンチマーク。
C++、Java、Pythonの4つの主要なバグカテゴリと18のマイナータイプをカバーする。
ゼロショットシナリオで2つの商用モデルと3つのオープンソースモデルを評価する。
論文 参考訳(メタデータ) (2024-01-09T15:46:38Z) - Testing LLMs on Code Generation with Varying Levels of Prompt
Specificity [0.0]
大規模言語モデル (LLM) は、人間のようなテキスト生成と処理を模倣する非並列的な技術を示している。
自然言語のプロンプトを実行可能なコードに変換する可能性は、ソフトウェア開発プラクティスの大きな変化を約束します。
論文 参考訳(メタデータ) (2023-11-10T23:41:41Z) - Evaluating Diverse Large Language Models for Automatic and General Bug
Reproduction [12.851941377433285]
大規模言語モデル(LLM)は自然言語処理やコード生成に適していることが証明されている。
提案手法は,広く使用されているDefects4Jベンチマークにおいて,全バグの約3分の1を再現することができた。
論文 参考訳(メタデータ) (2023-11-08T08:42:30Z) - Automatic Hallucination Assessment for Aligned Large Language Models via
Transferable Adversarial Attacks [98.22864957942821]
本稿では,大規模言語モデルが忠実に振る舞う既存データを適切に修正し,評価データを自動的に生成する手法を開発することを目的とする。
具体的には,LLM ベースのフレームワークである Auto Debug について述べる。
実験結果から, LLMは, インプロンプトに与えられた知識とパラメトリック知識との間に矛盾がある場合, 質問応答シナリオの2つのカテゴリに幻覚を与える可能性が示唆された。
論文 参考訳(メタデータ) (2023-10-19T06:37:32Z) - TRACE: A Comprehensive Benchmark for Continual Learning in Large
Language Models [52.734140807634624]
調整された大規模言語モデル(LLM)は、タスク解決、指示に従うこと、安全性を確保することにおいて、例外的な能力を示す。
既存の連続学習ベンチマークでは、LLMをリードする上で十分な課題が欠如している。
LLMにおける継続学習を評価するための新しいベンチマークであるTRACEを紹介する。
論文 参考訳(メタデータ) (2023-10-10T16:38:49Z) - CodeApex: A Bilingual Programming Evaluation Benchmark for Large
Language Models [43.655927559990616]
我々は,LLMのプログラミング理解,コード生成,コード修正能力に着目したベンチマークデータセットであるCodeApexを提案する。
汎用モデルと特化モデルの両方を含む,広く使用されているLLMを12種類評価した。
GPT-4は最高のプログラミング能力を示し、それぞれ69%、54%、66%の精度を達成している。
論文 参考訳(メタデータ) (2023-09-05T04:12:01Z) - Check Your Facts and Try Again: Improving Large Language Models with
External Knowledge and Automated Feedback [127.75419038610455]
大規模言語モデル(LLM)は、ダウンストリームタスクの多くに対して、人間のような、流動的な応答を生成することができる。
本稿では,プラグ・アンド・プレイモジュールのセットでブラックボックスのLSMを増強するLSM-Augmenterシステムを提案する。
論文 参考訳(メタデータ) (2023-02-24T18:48:43Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。