論文の概要: Frustrated with Code Quality Issues? LLMs can Help!
- arxiv url: http://arxiv.org/abs/2309.12938v1
- Date: Fri, 22 Sep 2023 15:37:07 GMT
- ステータス: 処理完了
- システム内更新日: 2023-09-25 14:13:07.874221
- Title: Frustrated with Code Quality Issues? LLMs can Help!
- Title(参考訳): コード品質の問題に不満?
LLMs can Help!
- Authors: Nalin Wadhwa, Jui Pradhan, Atharv Sonwane, Surya Prakash Sahu,
Nagarajan Natarajan, Aditya Kanade, Suresh Parthasarathy, Sriram Rajamani
- Abstract要約: 静的解析ツールは、コード品質の問題にフラグを付けるために開発者に使われます。
開発者は、ツールの発見に基づいてコード品質を改善するために、コードを修正するために余分な労力を費やす必要がある。
コード品質の問題を解決するためのコード修正を支援するツールであるCORE(COde Revisionsの略)を提案する。
- 参考スコア(独自算出の注目度): 7.67768651817923
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: As software projects progress, quality of code assumes paramount importance
as it affects reliability, maintainability and security of software. For this
reason, static analysis tools are used in developer workflows to flag code
quality issues. However, developers need to spend extra efforts to revise their
code to improve code quality based on the tool findings. In this work, we
investigate the use of (instruction-following) large language models (LLMs) to
assist developers in revising code to resolve code quality issues. We present a
tool, CORE (short for COde REvisions), architected using a pair of LLMs
organized as a duo comprised of a proposer and a ranker. Providers of static
analysis tools recommend ways to mitigate the tool warnings and developers
follow them to revise their code. The \emph{proposer LLM} of CORE takes the
same set of recommendations and applies them to generate candidate code
revisions. The candidates which pass the static quality checks are retained.
However, the LLM may introduce subtle, unintended functionality changes which
may go un-detected by the static analysis. The \emph{ranker LLM} evaluates the
changes made by the proposer using a rubric that closely follows the acceptance
criteria that a developer would enforce. CORE uses the scores assigned by the
ranker LLM to rank the candidate revisions before presenting them to the
developer. CORE could revise 59.2% Python files (across 52 quality checks) so
that they pass scrutiny by both a tool and a human reviewer. The ranker LLM is
able to reduce false positives by 25.8% in these cases. CORE produced revisions
that passed the static analysis tool in 76.8% Java files (across 10 quality
checks) comparable to 78.3% of a specialized program repair tool, with
significantly much less engineering efforts.
- Abstract(参考訳): ソフトウェアプロジェクトが進むにつれて、コードの質はソフトウェアの信頼性、保守性、セキュリティに影響を与えるため、最重要視される。
このため、静的解析ツールは開発者のワークフローでコード品質の問題にフラグを付けるために使われます。
しかし、開発者はツールの発見に基づいてコード品質を改善するために、コード修正に余計な労力を費やす必要がある。
本研究では,コード品質の問題を解決するためのコード修正を支援するため,大規模言語モデル (LLM) の使用について検討する。
提案ツールであるcore(コードリビジョンの略)を,提案者とランク付け者からなるデュオとして構成した2つのllmを用いて設計する。
静的解析ツールのプロバイダは、ツール警告を緩和する方法を推奨し、開発者はコードを修正するためにそれに従う。
coreの \emph{proposer llm} は同じレコメンデーションを受け取り、それらを適用して候補コードリビジョンを生成する。
静的品質チェックをパスする候補は保持される。
しかし、LSMは、静的解析によって検出されない微妙で意図しない機能変更を導入するかもしれない。
emph{ranker LLM} は、開発者が強制する受け入れ基準に忠実に従うルーリックを使用して、提案者が行った変更を評価します。
CORE はランサー LLM によって割り当てられたスコアを使用して、候補のリビジョンを開発者が提示する前にランク付けする。
COREは59.2%のPythonファイル(52品質チェック)を修正でき、ツールと人間レビュアーの両方による精査をパスできる。
LLMはこれらの場合、偽陽性を25.8%減らすことができる。
coreは、特別なプログラム修復ツールの78.3%に相当する76.8%のjavaファイル(品質チェック)で静的解析ツールに合格したリビジョンを作成しました。
関連論文リスト
- A Comprehensive Survey of AI-Driven Advancements and Techniques in Automated Program Repair and Code Generation [0.0]
最近27の論文がレビューされ、2つのグループに分けられた。
最初のグループは、意味的エラーの特定を含む、バグの検出と修復のための新しいメソッドで構成されている。
2つ目のグループはコード生成に精通しており、プログラミングとタスク固有のモデルのために微調整された汎用LLMの概要を提供している。
また、識別子認識トレーニング、命令レベルでの微調整、セマンティックコード構造の導入など、コード生成を改善する方法も提示されている。
論文 参考訳(メタデータ) (2024-11-12T06:47:54Z) - Understanding Code Understandability Improvements in Code Reviews [79.16476505761582]
GitHub上のJavaオープンソースプロジェクトからの2,401のコードレビューコメントを分析した。
改善提案の83.9%が承認され、統合され、1%未満が後に復活した。
論文 参考訳(メタデータ) (2024-10-29T12:21:23Z) - No Man is an Island: Towards Fully Automatic Programming by Code Search, Code Generation and Program Repair [9.562123938545522]
ツールネームは、様々なコード検索、生成、修復ツールを統合することができ、これら3つの研究領域を初めて組み合わせることができる。
例えば、CodeLlamaは62.53%の改善で267のプログラミング問題を解決するのに役立ちます。
論文 参考訳(メタデータ) (2024-09-05T06:24:29Z) - SpecRover: Code Intent Extraction via LLMs [7.742980618437681]
仕様推論は、高品質なプログラムパッチを作成するのに役立ちます。
当社のアプローチであるSpecRover(AutoCodeRover-v2)は,オープンソースのLLMエージェントであるAutoCodeRover上に構築されています。
2294のGitHubイシューからなる完全なSWE-Benchの評価では、AutoCodeRoverよりも50%以上改善されている。
論文 参考訳(メタデータ) (2024-08-05T04:53:01Z) - BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions [72.56339136017759]
BigCodeBenchは、大規模言語モデル(LLM)に対して、139のライブラリと7つのドメインから1140のきめ細かいタスクに対して、複数の関数呼び出しをツールとして呼び出すためのベンチマークである。
評価の結果,LLMは機能コールを正確に使用するための複雑な指示に従うことができず,スコアは最大60%,人的性能は97%と極めて低いことがわかった。
そこで本研究では,BigCodeBench-Instructという自然言語指向の変種を提案する。
論文 参考訳(メタデータ) (2024-06-22T15:52:04Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Leveraging Large Language Models for Efficient Failure Analysis in Game Development [47.618236610219554]
本稿では,テストの失敗の原因となるコードの変更を自動的に識別する手法を提案する。
このメソッドは、LLM(Large Language Models)を利用して、エラーメッセージと対応するコード変更を関連付ける。
当社のアプローチは新たに作成したデータセットで71%の精度に達しています。
論文 参考訳(メタデータ) (2024-06-11T09:21:50Z) - 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) - CYCLE: Learning to Self-Refine the Code Generation [19.71833229434497]
本稿では,CYCLEフレームワークを提案する。
350M, 1B, 2B, 3B のベンチマークで, パラメータ数が異なる CYCLE の4つの変種を実装した。
その結果、CYCLEは一度のコード生成の品質を維持し、時には改善すると同時に、コードLMの自己抑制能力を大幅に改善することがわかった。
論文 参考訳(メタデータ) (2024-03-27T16:45:02Z) - 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) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。