論文の概要: Automated Code Repair for C/C++ Static Analysis Alerts
- arxiv url: http://arxiv.org/abs/2508.02820v1
- Date: Mon, 04 Aug 2025 18:44:50 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-08-06 18:18:55.641671
- Title: Automated Code Repair for C/C++ Static Analysis Alerts
- Title(参考訳): C/C++静的解析アラートの自動コード修復
- Authors: David Svoboda, Lori Flynn, William Klieber, Michael Duggan, Nicholas Reimer, Joseph Sible,
- Abstract要約: 静的解析(SA)ツールは、CまたはC++のソースコードが欠陥があることを示す多くの診断アラートを生成する。
本稿では、複数のSAツールによって生成された3つのカテゴリの警告に関連するC/C++コードを修復するAPRツールに対して、設計、開発、パフォーマンステストの適用について詳述する。
- 参考スコア(独自算出の注目度): 1.260797434681533
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: (Note: This work is a preprint.) Static analysis (SA) tools produce many diagnostic alerts indicating that source code in C or C++ may be defective and potentially vulnerable to security exploits. Many of these alerts are false positives. Identifying the true-positive alerts and repairing the defects in the associated code are huge efforts that automated program repair (APR) tools can help with. Our experience showed us that APR can reduce the number of SA alerts significantly and reduce the manual effort of analysts to review code. This engineering experience paper details the application of design, development, and performance testing to an APR tool we built that repairs C/C++ code associated with 3 categories of alerts produced by multiple SA tools. Its repairs are simple and local. Furthermore, our findings convinced the maintainers of the CERT Coding Standards to re-assess and update the metrics used to assess when violations of guidelines are detectable or repairable. We discuss engineering design choices made to support goals of trustworthiness and acceptability to developers. Our APR tool repaired 8718 out of 9234 alerts produced by one SA tool on one codebase. It can repair 3 flaw categories. For 2 flaw categories, 2 SA tools, and 2 codebases, our tool repaired or dismissed as false positives over 80% of alerts, on average. Tests showed repairs did not appreciably degrade the performance of the code or cause new alerts to appear (with the possible exception of sqlite3.c). This paper describes unique contributions that include a new empirical analysis of SA data, our selection method for flaw categories to repair, publication of our APR tool, and a dataset of SA alerts from open-source SA tools run on open-source codebases. It discusses positive and negative results and lessons learned.
- Abstract(参考訳): (注:前稿)
静的解析(SA)ツールは、CやC++のソースコードが欠陥があり、セキュリティエクスプロイトに脆弱性がある可能性があることを示す多くの診断アラートを生成する。
これらの警告の多くは偽陽性である。
真の肯定的な警告を特定し、関連するコードの欠陥を修復することは、自動プログラム修復(APR)ツールが役に立ちます。
私たちの経験から、APRはSAアラートの数を著しく削減し、コードをレビューするアナリストの手作業を減らすことができることが分かりました。
このエンジニアリングエクスペリエンスは、複数のSAツールによって生成された3つのカテゴリの警告に関連するC/C++コードを修復するAPRツールに対する、設計、開発、パフォーマンステストの適用について詳述します。
修理は単純で局所的である。
さらに,CERTコーディング標準のメンテナは,ガイドライン違反が検出可能か修正可能かを評価する指標を再評価し,更新するよう説得した。
信頼性と開発者への受け入れ性を目標とするエンジニアリング設計の選択について論じる。
私たちのAPRツールは、1つのSAツールが1つのコードベースで生成した9234のアラートのうち8718を修復しました。
3つの欠陥を修復できる。
2つの欠陥カテゴリ、2つのSAツール、2つのコードベースに対して、当社のツールは、平均80%以上の警告に対して、偽陽性として修正または削除しました。
修復テストでは、コードのパフォーマンスが著しく低下しなかったり、新しい警告が現れることはなかった(sqlite3.cを除いて)。
本稿では,新たなSAデータの実証分析,修復する欠陥カテゴリの選択方法,APRツールの公開,オープンソースコードベースで動作するオープンソースSAツールからのSAアラートのデータセットなど,ユニークなコントリビューションについて述べる。
肯定的な結果と否定的な結果と教訓について論じる。
関連論文リスト
- Do AI models help produce verified bug fixes? [62.985237003585674]
大規模言語モデルは、ソフトウェアバグの修正に使用される。
本稿では,プログラマが大規模言語モデルを用いて,自身のスキルを補完する方法について検討する。
その結果は、プログラムバグに対する保証された修正を提供するAIとLLMの適切な役割への第一歩となる。
論文 参考訳(メタデータ) (2025-07-21T17:30:16Z) - Specification-Guided Repair of Arithmetic Errors in Dafny Programs using LLMs [84.30534714651093]
本稿では,検証を意識したプログラミング言語であるDafnyに対して,革新的なAPRツールを提案する。
プログラム内の各ステートメントの状態を決定するために、Hoare Logicの使用を含む一連のステップを通じて、障害をローカライズします。
実世界のDafnyプログラムのベンチマークであるDafnyBenchを用いて,我々のアプローチを評価する。
論文 参考訳(メタデータ) (2025-07-04T15:36:12Z) - ToolFuzz -- Automated Agent Tool Testing [5.174808367448261]
ToolFuzzは,(1)ツール実行時のエラーにつながるユーザクエリと,(2)誤ったエージェント応答につながるユーザクエリの2つのタイプのエラーを検出するように設計されている。
ToolFuzzは、プロンプトエンジニアリングのアプローチと比較して、20倍の誤入力を識別する。
論文 参考訳(メタデータ) (2025-03-06T14:29:52Z) - Closing the Gap: A User Study on the Real-world Usefulness of AI-powered Vulnerability Detection & Repair in the IDE [5.824774194964031]
プロのソフトウェア開発者が所有する実際のプロジェクトで、脆弱性検出と修正ツールを実装しています。
DeepVulGuardは脆弱性のコードをスキャンし、修正を提案し、警告と修正の自然言語説明を提供し、チャットインターフェースを活用する。
最先端のAIによる検出と修正ツールは、将来性を示しているが、偽陽性や適用不可能な修正の頻度が高いため、現実世界での使用には実用的ではない。
論文 参考訳(メタデータ) (2024-12-18T20:19:56Z) - RedCode: Risky Code Execution and Generation Benchmark for Code Agents [50.81206098588923]
RedCodeはリスクの高いコード実行と生成のためのベンチマークである。
RedCode-Execは、危険なコード実行につながる可能性のある、挑戦的なプロンプトを提供する。
RedCode-Genは160のプロンプトに関数シグネチャとドキュメントを入力として提供し、コードエージェントが命令に従うかどうかを評価する。
論文 参考訳(メタデータ) (2024-11-12T13:30:06Z) - Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - The Impact of SBOM Generators on Vulnerability Assessment in Python: A Comparison and a Novel Approach [56.4040698609393]
Software Bill of Materials (SBOM) は、ソフトウェア構成における透明性と妥当性を高めるツールとして推奨されている。
現在のSBOM生成ツールは、コンポーネントや依存関係を識別する際の不正確さに悩まされることが多い。
提案するPIP-sbomは,その欠点に対処する新しいピップインスパイアされたソリューションである。
論文 参考訳(メタデータ) (2024-09-10T10:12:37Z) - ACWRecommender: A Tool for Validating Actionable Warnings with Weak
Supervision [10.040337069728569]
静的解析ツールは潜在的なバグを見つけるために開発者の間で人気を集めているが、その広く採用されていることは、偽のアラーム率の高さによって妨げられている。
従来の研究は、行動警告の概念を提案し、行動警告と誤警報を区別するために機械学習手法を適用した。
本稿では,ACWRecommenderと呼ばれる2段階のフレームワークを提案する。
論文 参考訳(メタデータ) (2023-09-18T12:35:28Z) - Learning to Reduce False Positives in Analytic Bug Detectors [12.733531603080674]
偽陽性のバグ警告を識別するためのトランスフォーマーに基づく学習手法を提案する。
我々は,静的解析の精度を17.5%向上させることができることを示した。
論文 参考訳(メタデータ) (2022-03-08T04:26:26Z) - Break-It-Fix-It: Unsupervised Learning for Program Repair [90.55497679266442]
我々は2つの重要なアイデアを持つ新しいトレーニング手法であるBreak-It-Fix-It (BIFI)を提案する。
批判者は、実際の悪い入力でフィクスダーの出力をチェックし、トレーニングデータに良い(固定された)出力を追加する。
これらのアイデアに基づいて、よりペア化されたデータを生成するために、ブレーカとフィクスチャを同時に使用しながら、繰り返し更新する。
BIFIは既存のメソッドより優れており、GitHub-Pythonで90.5%、DeepFixで71.7%の修正精度がある。
論文 参考訳(メタデータ) (2021-06-11T20:31:04Z) - Assessing Validity of Static Analysis Warnings using Ensemble Learning [4.05739885420409]
静的分析(SA)ツールは、コードの潜在的な弱点を特定し、事前に修正するために使われ、コードが開発中である。
これらのルールベースの静的解析ツールは一般的に、実際のものとともに多くの誤った警告を報告します。
機械学習(ML)ベースの学習プロセスを提案し、ソースコード、履歴コミットデータ、および分類器アンサンブルを使用してTrue警告を優先します。
論文 参考訳(メタデータ) (2021-04-21T19:39:20Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。