論文の概要: Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces
- arxiv url: http://arxiv.org/abs/2505.17703v1
- Date: Fri, 23 May 2025 10:12:09 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-05-26 18:08:33.989766
- Title: Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces
- Title(参考訳): グラディエントベースのプログラム修復 - 継続的プログラムスペースにおけるバグの修正
- Authors: André Silva, Gustav Thorén, Martin Monperrus,
- Abstract要約: 我々は,プログラム修復を連続的な最適化として,微分可能な数値プログラム空間で再設計する新しいパラダイムであるGBPR(Gradient-Based Program repair)を紹介する。
我々の中心となる洞察は、記号的プログラムを微分可能な数値表現にコンパイルし、プログラムの振舞いによって直接導かれる数値的プログラム空間の探索を可能にすることである。
- 参考スコア(独自算出の注目度): 7.570246812206772
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Automatic program repair seeks to generate correct code from buggy programs, with most approaches searching the correct program in a discrete, symbolic space of source code tokens. This symbolic search is fundamentally limited by its inability to directly reason about program behavior. We introduce Gradient-Based Program Repair (GBPR), a new paradigm that reframes program repair as continuous optimization in a differentiable numerical program space. Our core insight is to compile symbolic programs into differentiable numerical representations, enabling search in the numerical program space directly guided by program behavior. To evaluate GBPR, we present RaspBugs, a new benchmark of 1,466 buggy symbolic RASP programs and their respective numerical representations. Our experiments demonstrate that GBPR can effectively repair buggy symbolic programs by gradient-based optimization in the numerical program space, with convincing repair trajectories. To our knowledge, we are the first to state program repair as continuous optimization in a numerical program space. Our work establishes a new direction for program repair research, bridging two rich worlds: continuous optimization and program behavior.
- Abstract(参考訳): 自動プログラム修復は、バグの多いプログラムから正しいコードを生成することを目的としており、ほとんどのアプローチでは、ソースコードトークンの離散的で象徴的な空間で正しいプログラムを検索する。
この記号探索は、プログラムの振舞いを直接推論できないため、基本的に制限されている。
我々は,プログラム修復を連続的な最適化として,微分可能な数値プログラム空間で再設計する新しいパラダイムであるGBPR(Gradient-Based Program repair)を紹介する。
我々の中心となる洞察は、記号的プログラムを微分可能な数値表現にコンパイルし、プログラムの振舞いによって直接導かれる数値的プログラム空間の探索を可能にすることである。
GBPRを評価するために,1,466個のバグギーシンボルRASPプログラムとその数値表現のベンチマークであるRaspBugsを提案する。
実験により,GBPRは数値プログラム空間における勾配に基づく最適化により,バグのシンボルプログラムを効果的に修復できることを示した。
我々の知る限り、我々は数値的なプログラム空間において、プログラムの修復を連続的な最適化として記述した最初の人物である。
私たちの研究は、継続的最適化とプログラムの振る舞いという2つの豊かな世界を橋渡しして、プログラム修復研究の新しい方向性を確立します。
関連論文リスト
- Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization [0.0]
導入プログラミング課題(IPAs)のための自動プログラム修復(APR)は、多数の学生の参加によって動機付けられている。
本稿では,FMに基づく障害局所化とLarge Language Models(LLMs)の長所を組み合わせた新しいアプローチを提案する。
提案手法では,MaxSATに基づく障害位置定位法を用いて,プログラムのバグ部分を特定し,これらのバグ文を欠いたプログラムスケッチをLLMに提示する。
論文 参考訳(メタデータ) (2024-12-19T12:08:44Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Graph Neural Networks For Mapping Variables Between Programs -- Extended
Version [0.0]
両プログラムの抽象構文木(AST)に基づく2つのプログラム間の変数の集合をグラフニューラルネットワーク(GNN)を用いてマッピングする。
変数写像の強みを示すために,プログラム修復作業におけるこれらの写像のユースケースを3つ提示する。
論文 参考訳(メタデータ) (2023-07-24T16:14:32Z) - Can You Improve My Code? Optimizing Programs with Local Search [25.436793960409926]
局所改善検索(POLIS)によるプログラム最適化は、その行によって定義されたプログラムの構造を利用する。
POLISは、既存のブルートフォース合成アルゴリズムを使用して、残りの行を固定しながらプログラムの単一行を改善し、プログラムのパフォーマンスを改善できなくなるまで繰り返し続ける。
論文 参考訳(メタデータ) (2023-07-10T20:39:41Z) - Hierarchical Programmatic Reinforcement Learning via Learning to Compose
Programs [58.94569213396991]
プログラムポリシーを作成するための階層型プログラム強化学習フレームワークを提案する。
提案するフレームワークは,プログラム作成の学習を通じて,アウト・オブ・ディストリビュータの複雑な動作を記述するプログラムポリシーを作成することができる。
Karel ドメインの実験結果から,提案するフレームワークがベースラインより優れていることが示された。
論文 参考訳(メタデータ) (2023-01-30T14:50:46Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - Searching for More Efficient Dynamic Programs [61.79535031840558]
本稿では,プログラム変換の集合,変換プログラムの効率を評価するための単純な指標,およびこの指標を改善するための探索手順について述べる。
実際に、自動検索は初期プログラムの大幅な改善を見出すことができることを示す。
論文 参考訳(メタデータ) (2021-09-14T20:52:55Z) - Graph-based, Self-Supervised Program Repair from Diagnostic Feedback [108.48853808418725]
本稿では,ソースコードの修復や診断フィードバックに関連するシンボルを結合するプログラムフィードバックグラフを提案する。
次に、推論プロセスのモデル化にグラフニューラルネットワークを適用します。
オンラインで利用可能なラベルのないプログラムを活用するプログラム修復のための自己指導型学習パラダイムを提案する。
論文 参考訳(メタデータ) (2020-05-20T07:24:28Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。