論文の概要: Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysis
- arxiv url: http://arxiv.org/abs/2412.14841v1
- Date: Thu, 19 Dec 2024 13:34:14 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-20 13:33:35.468421
- Title: Helping LLMs Improve Code Generation Using Feedback from Testing and Static Analysis
- Title(参考訳): テストからのフィードバックと静的分析によるLLMのコード生成改善を支援する
- Authors: Greta Dolcetti, Vincenzo Arceri, Eleonora Iotti, Sergio Maffeis, Agostino Cortesi, Enea Zaffanella,
- Abstract要約: 大規模言語モデル(LLM)は人工知能分野における最も有望な発展の1つである。
開発者は定期的にLCMにコードスニペットの生成を依頼し、生産性の向上に加えて、オーナシップ、プライバシ、正確性、セキュリティ問題も導入する。
以前の作業では、商用のLLMによって生成されたコードが、脆弱性やバグ、コードの臭いなど、安全でないことが強調されていた。
- 参考スコア(独自算出の注目度): 3.892345568697058
- License:
- Abstract: Large Language Models (LLMs) are one of the most promising developments in the field of artificial intelligence, and the software engineering community has readily noticed their potential role in the software development life-cycle. Developers routinely ask LLMs to generate code snippets, increasing productivity but also potentially introducing ownership, privacy, correctness, and security issues. Previous work highlighted how code generated by mainstream commercial LLMs is often not safe, containing vulnerabilities, bugs, and code smells. In this paper, we present a framework that leverages testing and static analysis to assess the quality, and guide the self-improvement, of code generated by general-purpose, open-source LLMs. First, we ask LLMs to generate C code to solve a number of programming tasks. Then we employ ground-truth tests to assess the (in)correctness of the generated code, and a static analysis tool to detect potential safety vulnerabilities. Next, we assess the models ability to evaluate the generated code, by asking them to detect errors and vulnerabilities. Finally, we test the models ability to fix the generated code, providing the reports produced during the static analysis and incorrectness evaluation phases as feedback. Our results show that models often produce incorrect code, and that the generated code can include safety issues. Moreover, they perform very poorly at detecting either issue. On the positive side, we observe a substantial ability to fix flawed code when provided with information about failed tests or potential vulnerabilities, indicating a promising avenue for improving the safety of LLM-based code generation tools.
- Abstract(参考訳): 大規模言語モデル(LLM)は、人工知能の分野で最も有望な発展の1つであり、ソフトウェアエンジニアリングコミュニティは、ソフトウェア開発ライフサイクルにおける彼らの潜在的な役割にすぐに気付きました。
開発者は通常、LCMにコードスニペットの生成を依頼し、生産性を向上すると同時に、オーナシップ、プライバシ、正確性、セキュリティ問題も導入する可能性がある。
以前の作業では、主要な商用LLMによって生成されたコードが、脆弱性やバグ、コードの臭いなど、安全ではないことが強調されていた。
本稿では、テストと静的解析を活用して、汎用のオープンソースLLMによって生成されたコードの品質を評価し、自己改善を導くフレームワークを提案する。
まず LLM に C コードの生成を依頼し,多数のプログラミングタスクを解く。
次に、生成したコードの正確性(in)を評価するために、そして潜在的な安全性の脆弱性を検出するための静的解析ツールとして、地上テストを使用します。
次に、エラーや脆弱性の検出を依頼することで、生成されたコードを評価するモデルを評価する。
最後に、生成したコードを修正するためのモデルテストを行い、静的解析時に生成されたレポートと不正確な評価フェーズをフィードバックとして提供する。
我々の結果は、モデルがしばしば間違ったコードを生成することを示し、生成されたコードは安全性の問題を含む可能性があることを示している。
さらに、どちらの問題も検出できない。
肯定的な面では、失敗したテストや潜在的な脆弱性に関する情報が提供されたときに、欠陥のあるコードを修正するための実質的な能力を観察し、LCMベースのコード生成ツールの安全性を改善するための有望な道のりを示す。
関連論文リスト
- HexaCoder: Secure Code Generation via Oracle-Guided Synthetic Training Data [60.75578581719921]
大規模言語モデル(LLM)は、自動コード生成に大きな可能性を示している。
最近の研究は、多くのLLM生成コードが深刻なセキュリティ脆弱性を含んでいることを強調している。
我々は,LLMがセキュアなコードを生成する能力を高めるための新しいアプローチであるHexaCoderを紹介する。
論文 参考訳(メタデータ) (2024-09-10T12:01:43Z) - 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) - Is Your AI-Generated Code Really Safe? Evaluating Large Language Models on Secure Code Generation with CodeSecEval [20.959848710829878]
大規模言語モデル(LLM)は、コード生成とコード修復に大きな進歩をもたらした。
しかし、GitHubのようなオープンソースのリポジトリから無防備なデータを使用したトレーニングは、セキュリティ上の脆弱性を必然的に伝播するリスクを増大させる。
我々は,コードLLMのセキュリティ面を正確に評価し,拡張することを目的とした総合的研究を提案する。
論文 参考訳(メタデータ) (2024-07-02T16:13:21Z) - Can We Trust Large Language Models Generated Code? A Framework for In-Context Learning, Security Patterns, and Code Evaluations Across Diverse LLMs [2.7138982369416866]
大規模言語モデル(LLM)は、ソフトウェア工学における自動コード生成に革命をもたらした。
しかし、生成されたコードのセキュリティと品質に関する懸念が持ち上がっている。
本研究は,LLMの行動学習をセキュアにするための枠組みを導入することで,これらの課題に対処することを目的とする。
論文 参考訳(メタデータ) (2024-06-18T11:29:34Z) - 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) - CodeAttack: Revealing Safety Generalization Challenges of Large Language Models via Code Completion [117.178835165855]
本稿では,自然言語入力をコード入力に変換するフレームワークであるCodeAttackを紹介する。
我々の研究は、コード入力に対するこれらのモデルの新たな、普遍的な安全性の脆弱性を明らかにした。
CodeAttackと自然言語の分布ギャップが大きくなると、安全性の一般化が弱くなる。
論文 参考訳(メタデータ) (2024-03-12T17:55:38Z) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - Assured LLM-Based Software Engineering [51.003878077888686]
この記事では,2024年4月15日にポルトガルのリスボンで開催された International Workshop on Interpretability, Robustness, and Benchmarking in Neural Software Engineering で,Mark Harman 氏による基調講演の内容の概要を紹介する。
論文 参考訳(メタデータ) (2024-02-06T20:38:46Z) - SALLM: Security Assessment of Generated Code [0.5137309756089941]
本稿では,セキュアなコードを体系的に生成する大規模言語モデルの能力をベンチマークするフレームワークであるSALLMについて述べる。
フレームワークには3つの主要なコンポーネントがある。セキュリティ中心のPythonプロンプトの新たなデータセット、生成されたコードを評価するための評価テクニック、セキュアなコード生成の観点からモデルのパフォーマンスを評価するための新しいメトリクスである。
論文 参考訳(メタデータ) (2023-11-01T22:46:31Z) - CodeLMSec Benchmark: Systematically Evaluating and Finding Security
Vulnerabilities in Black-Box Code Language Models [58.27254444280376]
自動コード生成のための大規模言語モデル(LLM)は、いくつかのプログラミングタスクにおいてブレークスルーを達成した。
これらのモデルのトレーニングデータは、通常、インターネット(例えばオープンソースのリポジトリから)から収集され、障害やセキュリティ上の脆弱性を含む可能性がある。
この不衛生なトレーニングデータは、言語モデルにこれらの脆弱性を学習させ、コード生成手順中にそれを伝播させる可能性がある。
論文 参考訳(メタデータ) (2023-02-08T11:54:07Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。