[論文レビュー] CigaR: Cost-efficient Program Repair with LLMs
CigaR は、バグを修正しつつトークンコストを最小化する LLM ベースのプログラム修正ツールです。Defects4J でトークンコストを 62% 減少させ、267 個のバグ中 69 個を修正(正しいパッチ 25.8%)し、従来の GPT ベース APR ツールを上回ります。
Large language models (LLM) have proven to be effective at automated program repair (APR). However, using LLMs can be costly, with companies invoicing users by the number of tokens. In this paper, we propose CigaR, the first LLM-based APR tool that focuses on minimizing the repair cost. CigaR works in two major steps: generating a first plausible patch and multiplying plausible patches. CigaR optimizes the prompts and the prompt setting to maximize the information given to LLMs using the smallest possible number of tokens. Our experiments on 429 bugs from the widely used Defects4J and HumanEval-Java datasets shows that CigaR reduces the token cost by 73%. On average, CigaR spends 127k tokens per bug while the baseline uses 467k tokens per bug. On the subset of bugs that are fixed by both, CigaR spends 20k per bug while the baseline uses 608k tokens, a cost saving of 96%. Our extensive experiments show that CigaR is a cost-effective LLM-based program repair tool that uses a low number of tokens to automatically generate patches.
研究の動機と目的
- LLM ベースの自動プログラム修正 (APR) の財務的および環境コストを削減する動機づけ。
- パッチ品質を維持または向上させつつ、トークン使用量を最小化する APR システムを開発する。
- トークンあたりの情報量を最大化し、多様なパッチを効率的に探索するためのプロンプト戦略を設計・統括する。
- 標準ベンチマーク(Defects4J)上で、最先端の GPT ベース APR ツールと比較して CigaR を評価する。
提案手法
- 3つのプロンプトが協調して機能します:初期パッチを生成する開始プロンプト、部分的なパッチを改善する改善プロンプト、多様な妥当なパッチを生成する乗算プロンプト。
- 過去の応答を要約して情報豊かな文脈を構築し、過剰なトークン使用を避けつつ反復的プロンプティングを行う。
- パッチ乗算によって多様な妥当なパッチを生成し、冗長な探索を減らす。
- 高温度のリブートベース探索を用いて、探索空間の異なる領域を探索する。
- プロンプト、応答、テスト結果のキャッシュ化によって再現性とコスト追跡を可能にする。
- 実装は Python を用い、GPT-3.5-turbo-0301、サンプリング温度を 1、トークンコストを意識したワークフロー。

実験結果
リサーチクエスチョン
- RQ1最先端の GPT ベース APR ツールと比較して、CigaR は妥当かつ正しいパッチを生成する能力がどの程度か?
- RQ2Defects4J のバグ解決において、CigaR はベースラインと比べてトークンコスト効率がどの程度か?
- RQ3リブートとパッチ乗算は、パッチ探索空間の探索とパッチの多様性の増大にどのように寄与するか?
主な発見
- CigaR は 267 バグ中 69 バグを修正(正確な AST 一致で 25.8%)し、複数回のラウンド後に 185/267 妥当なパッチを得る(69.2%)。
- ChatRepair と比較して、CigaR は平均でトークンコストを 62% 削減(1バグあたり 171K 対 451K トークン)。
- 両ツールで修正されたバグについて、CigaR はトークンコストを 97% 節約(平均 20K 対 695K トークン)。
- CigaR は妥当性とパッチ多様性を高く達成し、研究対象セットで CigaR のみが修正した 24 バグ、いずれかのツールで修正した 45 バグがある。
- パッチ探索戦略(リブートと乗算)は、異なるパッチの数を増加させ、効果的な探索空間の探索を示している。

より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。