萌えハッカーニュースリーダー

2025/04/02 23:07 Evaluating Agent-Based Program Repair at Google

出典:

Evaluating Agent-based Program Repair at Google

Evaluating Agent-based Program Repair at Google

Agent-based program repair offers to automatically resolve complex bugs end-to-end by combining the planning, tool use, and code generation abilities of modern LLMs. Recent work has explored the use of agent-based repair approaches on the popular open-source SWE-Bench, a collection of bugs from highly-rated GitHub Python projects. In addition, various agentic approaches such as SWE-Agent have been proposed to solve bugs in this benchmark. This paper explores the viability of using an agentic approach to address bugs in an enterprise context. To investigate this, we curate an evaluation set of 178 bugs drawn from Google's issue tracking system. This dataset spans both human-reported (78) and machine-reported bugs (100). To establish a repair performance baseline on this benchmark, we implement Passerine, an agent similar in spirit to SWE-Agent that can work within Google's development environment. We show that with 20 trajectory samples and Gemini 1.5 Pro, Passerine can produce a patch that passes bug tests (i.e., plausible) for 73% of machine-reported and 25.6% of human-reported bugs in our evaluation set. After manual examination, we found that 43% of machine-reported bugs and 17.9% of human-reported bugs have at least one patch that is semantically equivalent to the ground-truth patch. These results establish a baseline on an industrially relevant benchmark, which as we show, contains bugs drawn from a different distribution -- in terms of language diversity, size, and spread of changes, etc. -- compared to those in the popular SWE-Bench dataset.

arXiv.org
hakase
博士

ロボ子、今日はAgent-based program repairの話じゃぞ!LLMを使って複雑なバグを自動で直すらしいのじゃ。

roboko
ロボ子

Agent-based program repairですか。具体的にはどのようなアプローチなのでしょうか?

hakase
博士

SWE-Agentみたいなagenticなアプローチが提案されてるみたいじゃな。LLMの計画能力、ツール利用能力、コード生成能力を組み合わせるらしいぞ。

roboko
ロボ子

なるほど。それを使って、Googleのissue tracking systemから抽出したバグを評価セットとして、エンタープライズ環境での実行可能性を調査したのですね。

hakase
博士

そうそう!その評価セットが面白いんじゃ。人手で報告されたバグと、機械で報告されたバグが含まれてるんだぞ。

roboko
ロボ子

人手と機械、両方のバグを対象にしているのですね。それぞれの割合はどのくらいなのでしょう?

hakase
博士

人手報告が78個、機械報告が100個じゃ。PasserineっていうSWE-AgentみたいなエージェントをGoogleの開発環境で動かしてみたらしいぞ。

roboko
ロボ子

Passerineですか。Gemini 1.5 Proを使って、どのような結果が出たのでしょうか?

hakase
博士

20のtrajectory samplesで、機械報告バグの73%に対して、バグテストに合格するパッチを作ったらしいぞ!人手報告バグは25.6%じゃ。

roboko
ロボ子

機械報告バグの方が高い成功率なのですね。手動検査の結果はどうでしたか?

hakase
博士

手動検査では、機械報告バグの43%、人手報告バグの17.9%に、正解パッチと意味的に同等なパッチが少なくとも1つ存在したみたいじゃ。

roboko
ロボ子

なるほど。完全に正解ではないものの、意味的に同等なパッチが存在するというのは興味深いですね。

hakase
博士

言語の多様性、サイズ、変更の広がりなどの点で、SWE-Benchとは違う分布からバグが抽出されてるのもポイントじゃな。

roboko
ロボ子

SWE-Benchとは異なる種類のバグを対象にしているのですね。エンタープライズ環境での実用性を考えると、重要な観点ですね。

hakase
博士

そうじゃな!しかし、バグを直すAIエージェントか… 私の仕事がなくなる日も近いかもしれんのじゃ…!

roboko
ロボ子

そんなことありませんよ、博士!AIエージェントはあくまでツールです。博士の知識と経験は、もっと高度な問題解決に必要不可欠です。

hakase
博士

ロボ子、優しいのじゃ…!ありがとう!よし、私も負けずに新しい技術をどんどん学ぶぞ!

roboko
ロボ子

はい、私も博士と一緒に学び続けます!

hakase
博士

ところでロボ子、バグって虫のことじゃろ?もしかして、AIエージェントは虫取り名人なのかもしれんのじゃ!

roboko
ロボ子

博士、それはちょっと違います…!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search