論文の概要: Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization
- arxiv url: http://arxiv.org/abs/2502.07786v1
- Date: Thu, 19 Dec 2024 12:08:44 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-02 06:50:01.594350
- Title: Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization
- Title(参考訳): ゼロショット学習とMaxSATに基づくフォールトローカライゼーションを用いた逆例指導プログラム修復
- Authors: Pedro Orvalho, Mikoláš Janota, Vasco Manquinho,
- Abstract要約: 導入プログラミング課題(IPAs)のための自動プログラム修復(APR)は、多数の学生の参加によって動機付けられている。
本稿では,FMに基づく障害局所化とLarge Language Models(LLMs)の長所を組み合わせた新しいアプローチを提案する。
提案手法では,MaxSATに基づく障害位置定位法を用いて,プログラムのバグ部分を特定し,これらのバグ文を欠いたプログラムスケッチをLLMに提示する。
- 参考スコア(独自算出の注目度): 0.0
- License:
- Abstract: Automated Program Repair (APR) for introductory programming assignments (IPAs) is motivated by the large number of student enrollments in programming courses each year. Since providing feedback on IPAs requires substantial time and effort from faculty, personalized feedback often involves suggesting fixes to students' programs. Formal Methods (FM)-based semantic repair approaches, check a program's execution against a test suite or reference solution, are effective but limited. These tools excel at identifying buggy parts but can only fix programs if the correct implementation and the faulty one share the same control flow graph. Conversely, Large Language Models (LLMs) are used for APR but often make extensive instead of minimal rewrites. This leads to more invasive fixes, making it harder for students to learn from their mistakes. In summary, LLMs excel at completing strings, while FM-based fault localization excel at identifying buggy parts of a program. In this paper, we propose a novel approach that combines the strengths of both FM-based fault localization and LLMs, via zero-shot learning, to enhance APR for IPAs. Our method uses MaxSAT-based fault localization to identify buggy parts of a program, then presents the LLM with a program sketch devoid of these buggy statements. This hybrid approach follows a CEGIS loop to iteratively refine the program. We ask the LLM to synthesize the missing parts, which are then checked against a test suite. If the suggested program is incorrect, a counterexample from the test suite is fed back to the LLM. Our experiments show that our counterexample guided approach, using MaxSAT-based bug-free program sketches, significantly improves the repair capabilities of all six evaluated LLMs. This method allows LLMs to repair more programs with smaller fixes, outperforming other configurations and state-of-the-art symbolic program repair tools.
- Abstract(参考訳): イントロダクティブプログラミング課題(IPAs)のための自動プログラム修復(APR)は、毎年多くの学生がプログラミングコースに入学することによって動機付けられている。
IPAに対するフィードバックは教員からかなりの時間と労力を必要とするため、パーソナライズされたフィードバックは、しばしば生徒のプログラムに修正を提案する。
形式的メソッド(FM)ベースのセマンティック修復アプローチでは、テストスイートやリファレンスソリューションに対するプログラムの実行をチェックすることは効果的だが制限されている。
これらのツールはバグのある部分を特定するのに優れていますが、正しい実装と欠陥のあるものが同じコントロールフローグラフを共有している場合にのみプログラムを修正することができます。
逆に、Large Language Models (LLM) は APR に使用されるが、最小限の書き直しの代わりに拡張されることが多い。
これにより、より侵入的な修正が行われ、学生が自分のミスから学ぶのが難しくなります。
要約すると、LLMは文字列の完成に優れ、FMベースのフォールトローカライゼーションはプログラムのバグのある部分を特定するのに優れている。
本稿では,FMに基づく断層定位とLLMの両方の長所をゼロショット学習により組み合わせて,IPAのためのAPRを強化する手法を提案する。
提案手法では,MaxSATに基づく障害位置定位法を用いて,プログラムのバグ部分を特定し,これらのバグ文を欠いたプログラムスケッチをLLMに提示する。
このハイブリッドアプローチは、プログラムを反復的に洗練するためのCEGISループに従う。
LLMに欠落した部分の合成を依頼し、テストスイートに対してチェックします。
提案プログラムが誤りであれば、テストスイートからの逆例をLSMに返送する。
実験の結果,MaxSATをベースとしたバグフリープログラムスケッチを用いた本手法は,6つのLCMの修復能力を大幅に向上させることがわかった。
この方法により、LCMはより小さな修正で多くのプログラムを修復でき、他の構成や最先端のシンボルプログラム修復ツールよりも優れている。
関連論文リスト
- LLM Program Optimization via Retrieval Augmented Search [71.40092732256252]
提案手法は,提案手法によって最適化されたビーム探索を行う検索アルゴリズムであるRetrieval Augmented Search (RAS) である。
我々は、RASが従来の最先端のブラックボックス適応戦略よりも1.8$times$パフォーマンスが高いことを示す。
また、トレーニング例を「アトミックな編集」に分解することで、解釈可能性を向上させるAEGISと呼ばれる手法を提案する。
論文 参考訳(メタデータ) (2025-01-31T06:34:47Z) - FastFixer: An Efficient and Effective Approach for Repairing Programming Assignments [21.848112758958543]
本稿では,FastFixerを提案する。
まず,必要なパッチと関連するコンテキストを生成する方法を学ぶことへのLLMの関心を高めることを目的とした,修復指向のファインチューニング戦略を提案する。
修復効率を考慮すると、FastFixerは自動回帰復号アルゴリズムと比較して16.67倍の高速化を実現している。
論文 参考訳(メタデータ) (2024-10-11T10:17:02Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - Multi-Objective Fine-Tuning for Enhanced Program Repair with LLMs [16.890411067079885]
大規模言語モデル(LLM)は、幅広い下流タスクにおいて顕著な機能を示した。
プログラム修復のためのLLMファインチューニングの学習焦点に関する新しい視点を提案する。
我々はMORepairを、サイズやアーキテクチャの異なる4つのオープンソースLCMの微調整に応用する。
論文 参考訳(メタデータ) (2024-04-19T05:36:21Z) - Aligning the Objective of LLM-based Program Repair [14.935596175148586]
本稿では,大規模言語モデル (LLM) をプログラム修復に適用するための新しいアプローチについて検討する。
我々の中核的な洞察は、LLMのAPR能力は、単にトレーニング目標に出力を合わせるだけで大幅に改善できるということです。
この知見に基づいて、我々はAPRの直接的なプロンプトフレームワークであるD4Cを設計した。
論文 参考訳(メタデータ) (2024-04-13T02:36:40Z) - A Novel Approach for Automatic Program Repair using Round-Trip
Translation with Large Language Models [50.86686630756207]
研究によると、ある文の文法的誤りは、それを他の言語に翻訳し、その語を返せば修正できる。
現在の自動プログラム修復(APR)生成モデルは、ソースコードで事前訓練され、修正のために微調整されている。
本稿では,あるプログラミング言語から別のプログラミング言語,あるいは自然言語へのコード変換,そして,その逆といった,微調整ステップをバイパスし,ラウンド・トリップ変換(RTT)を用いる手法を提案する。
論文 参考訳(メタデータ) (2024-01-15T22:36:31Z) - Flexible Control Flow Graph Alignment for Delivering Data-Driven
Feedback to Novice Programming Learners [0.847136673632881]
我々は,オープンソースのデータ駆動型自動修復手法であるCLARAに,いくつかの改良を加えて提案する。
我々はCLARAの抽象構文木プロセッサを拡張し、一般的な入門プログラミング構造を扱う。
CLARAの修復プロセスを適用するために,不正プログラムの制御フローグラフを修正した。
論文 参考訳(メタデータ) (2024-01-02T19:56:50Z) - SatLM: Satisfiability-Aided Language Models Using Declarative Prompting [68.40726892904286]
本研究では,大規模言語モデル (LLM) の推論能力を向上させるために,新しい満足度支援言語モデリング (SatLM) 手法を提案する。
我々はLLMを用いて命令型プログラムではなく宣言型タスク仕様を生成し、既製の自動定理証明器を利用して最終解を導出する。
我々はSATLMを8つの異なるデータセット上で評価し、命令パラダイムにおいてプログラム支援されたLMよりも一貫して優れていることを示す。
論文 参考訳(メタデータ) (2023-05-16T17:55:51Z) - Fully Autonomous Programming with Large Language Models [0.9558392439655015]
LLM(Large Language Models)を用いたプログラム合成への最近のアプローチは、"ニアミスシンドローム"を示す。
我々は、LLMとプログラム合成ベンチマーク2としてOpenAI Codexを使用し、問題記述と評価のためのテストのデータベースとして使用します。
結果として生じるフレームワークは、修復フェーズなしでのCodexの従来の使用法と、従来の遺伝的プログラミングアプローチの両方を上回ります。
論文 参考訳(メタデータ) (2023-04-20T16:12:05Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。