論文の概要: RepoAudit: An Autonomous LLM-Agent for Repository-Level Code Auditing
- arxiv url: http://arxiv.org/abs/2501.18160v2
- Date: Fri, 31 Jan 2025 04:02:40 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-02-03 10:39:56.717881
- Title: RepoAudit: An Autonomous LLM-Agent for Repository-Level Code Auditing
- Title(参考訳): RepoAudit:レポジトリレベルのコード監査のための自律型LLMエージェント
- Authors: Jinyao Guo, Chengpeng Wang, Xiangzhe Xu, Zian Su, Xiangyu Zhang,
- Abstract要約: この作業では、レポジトリレベルのコード監査を正確かつ効率的なものにするために、自律的なLLMエージェントであるRepoAuditを導入している。
RepoAuditは、必要に応じてコードリポジトリを調べ、個々の関数で異なる実行可能なプログラムパスに沿ってデータフローの事実を分析する。
我々の実験によると、RepoAuditは15の現実世界のシステムで38の真のバグを発見し、プロジェクト平均で0.44時間と2.54ドルを消費している。
- 参考スコア(独自算出の注目度): 8.846583362353169
- License:
- Abstract: Code auditing is a code review process with the goal of finding bugs. Large Language Models (LLMs) have shown substantial potential in this task, offering the ability to analyze programs without compilation and enabling customized bug detection following specified prompts. However, applying LLMs to repository-level code auditing presents notable challenges. The inherent context limits and hallucinations of LLMs can lead to the low quality of bug reports. Meanwhile, the large size of software repositories introduces substantial time and token costs, hindering efficiency and scalability in real-world scenarios. This work introduces an autonomous LLM-agent, RepoAudit, designed to enable precise and efficient repository-level code auditing. Equipped with the agent memory, RepoAudit explores the code repository on demand, analyzing data-flow facts along different feasible program paths in individual functions. It also introduces the validator to check the data-flow facts for hallucination mitigation and examine the satisfiability of path conditions of potential buggy paths, which enables RepoAudit to discard false positives in the code auditing. Our experiment shows that RepoAudit powered by Claude 3.5 Sonnet successfully finds 38 true bugs in 15 real-world systems, consuming 0.44 hours and $2.54 per project on average.
- Abstract(参考訳): コード監査はバグを見つけるためのコードレビュープロセスである。
大規模な言語モデル(LLM)は、コンパイルせずにプログラムを解析し、指定されたプロンプトに従ってカスタマイズされたバグ検出を可能にするという、このタスクにおいて大きな可能性を示している。
しかし、レポジトリレベルのコード監査にLLMを適用することは、注目すべき課題である。
LLMのコンテキスト制限と幻覚は、バグレポートの質を低下させる可能性がある。
一方、ソフトウェアリポジトリの大規模化は、実際のシナリオにおける効率性とスケーラビリティを妨げる、相当な時間とトークンコストをもたらします。
この作業では,レポジトリレベルのコード監査を正確かつ効率的に行うように設計された,自律型LLMエージェントであるRepoAuditを導入している。
エージェントメモリを備えたRepoAuditは、必要に応じてコードリポジトリを調査し、個々の関数の異なる実行可能なプログラムパスに沿ってデータフローの事実を分析する。
また、幻覚の緩和のためのデータフロー事実をチェックし、潜在的なバグギーパスのパス条件の満足度を調べるバリデータを導入し、コード監査においてRepoAuditが偽陽性を破棄できるようにする。
我々の実験によると、Claude 3.5 Sonnetを動力とするRepoAuditは15の現実世界のシステムで38の真のバグを発見し、プロジェクトの平均時間は0.44時間と2.54ドルである。
関連論文リスト
- A Real-World Benchmark for Evaluating Fine-Grained Issue Solving Capabilities of Large Language Models [11.087034068992653]
FAUN-Eval は LLM の Fine-grAined issUe solviNg 機能を評価するために特別に設計されたベンチマークである。
30の有名なGitHubリポジトリからキュレートされたデータセットを使って構築されている。
FAUN-Evalでは,4つのクローズドソースモデルと6つのオープンソースモデルを含む10個のLLMを評価した。
論文 参考訳(メタデータ) (2024-11-27T03:25:44Z) - AuditWen:An Open-Source Large Language Model for Audit [20.173039073935907]
本研究では、Qwenを微調整し、監査領域から命令データを構築するオープンソースの監査LCMであるAuditWenを紹介する。
我々は、15の監査タスクと3つのレイヤから28kの命令データセットを構築したQwenを微調整することで、AuditWenと呼ばれる監査LPMを提案する。
評価段階において、アプリケーションシナリオから派生した重要な監査タスクのセットをカバーする3k命令のベンチマークを提案した。
実験の結果,AuditWenは質問理解と回答生成の両方において優れた性能を示し,即時評価ツールとなった。
論文 参考訳(メタデータ) (2024-10-09T02:28:55Z) - Exploring Automatic Cryptographic API Misuse Detection in the Era of LLMs [60.32717556756674]
本稿では,暗号誤用の検出において,大規模言語モデルを評価するための体系的評価フレームワークを提案する。
11,940個のLCM生成レポートを詳細に分析したところ、LSMに固有の不安定性は、報告の半数以上が偽陽性になる可能性があることがわかった。
最適化されたアプローチは、従来の手法を超え、確立されたベンチマークでこれまで知られていなかった誤用を明らかにすることで、90%近い顕著な検出率を達成する。
論文 参考訳(メタデータ) (2024-07-23T15:31:26Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - Chain of Targeted Verification Questions to Improve the Reliability of Code Generated by LLMs [10.510325069289324]
LLMが生成するコードの信頼性向上を目的とした自己補充手法を提案する。
当社のアプローチは,初期コード内の潜在的なバグを特定するために,対象とする検証質問(VQ)に基づいています。
本手法は,LLMをターゲットとするVQと初期コードで再プロンプトすることで,潜在的なバグの修復を試みる。
論文 参考訳(メタデータ) (2024-05-22T19:02:50Z) - When Large Language Models Confront Repository-Level Automatic Program
Repair: How Well They Done? [13.693311241492827]
オープンソースリポジトリから124の典型的なリポジトリレベルのバグで構成される新しいベンチマークであるRepoBugsを紹介します。
GPT3.5を用いた予備実験では,RepoBugsの修復率は22.58%に過ぎなかった。
本稿では,リポジトリレベルのコード修復タスクに対して,より正確なコンテキストを提供するために,シンプルで普遍的なリポジトリレベルのコンテキスト抽出手法(RLCE)を提案する。
論文 参考訳(メタデータ) (2024-03-01T11:07:41Z) - GenAudit: Fixing Factual Errors in Language Model Outputs with Evidence [64.95492752484171]
GenAudit - 文書基底タスクの事実チェック LLM 応答を支援するためのツール。
GenAuditは、レファレンス文書でサポートされていないクレームを修正したり削除したりすることでLCMレスポンスを編集することを提案し、また、サポートしているように見える事実の参照から証拠を提示する。
GenAuditは、さまざまなドメインから文書を要約する際に、8つの異なるLCM出力でエラーを検出することができる。
論文 参考訳(メタデータ) (2024-02-19T21:45:55Z) - LLMAuditor: A Framework for Auditing Large Language Models Using Human-in-the-Loop [7.77005079649294]
有効な方法は、同じ質問の異なるバージョンを使って、大きな言語モデルを探索することである。
この監査方法を大規模に運用するには、これらのプローブを確実かつ自動的に作成するためのアプローチが必要である。
我々はLLMAuditorフレームワークを提案し、異なるLLMとHIL(Human-in-the-loop)を併用する。
このアプローチは、検証性と透明性を提供すると同時に、同じLLMへの円形依存を回避する。
論文 参考訳(メタデータ) (2024-02-14T17:49:31Z) - ML-Bench: Evaluating Large Language Models and Agents for Machine Learning Tasks on Repository-Level Code [76.84199699772903]
ML-Benchは、既存のコードリポジトリを利用してタスクを実行する現実世界のプログラミングアプリケーションに根ざしたベンチマークである。
LLM(Large Language Model)とAIエージェントの両方を評価するために、事前に定義されたデプロイメント環境でLLMのテキスト-コード変換を評価するML-LLM-Benchと、Linuxサンドボックス環境でエンドツーエンドのタスク実行で自律エージェントをテストするML-Agent-Benchの2つの設定が採用されている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Factcheck-Bench: Fine-Grained Evaluation Benchmark for Automatic Fact-checkers [121.53749383203792]
本稿では,大規模言語モデル (LLM) 生成応答の事実性に注釈を付けるための総合的なエンドツーエンドソリューションを提案する。
オープンドメインの文書レベルの事実性ベンチマークを,クレーム,文,文書の3段階の粒度で構築する。
予備実験によると、FacTool、FactScore、Perplexityは虚偽の主張を識別するのに苦労している。
論文 参考訳(メタデータ) (2023-11-15T14:41:57Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。