論文の概要: 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ファイル(品質チェック)で静的解析ツールに合格したリビジョンを作成しました。
関連論文リスト
- 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 [69.99031792995348]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - ML-Bench: Large Language Models Leverage Open-source Libraries for
Machine Learning Tasks [75.12666425091702]
大規模な言語モデルは、コード生成ベンチマークで有望なパフォーマンスを示している。
この研究は、LLMがオープンソースのライブラリを使用して機械学習タスクを終了する、新たな評価設定を提案することを目的としている。
論文 参考訳(メタデータ) (2023-11-16T12:03:21Z) - Generate and Pray: Using SALLMS to Evaluate the Security of LLM
Generated Code [0.7451457983372032]
大規模言語モデルによって生成されたコードが正しいだけでなく、脆弱性もないことを保証することが重要です。
LLM(Large Language Models)を評価するために使われる既存のデータセットは、セキュリティに敏感な真のソフトウェアエンジニアリングタスクを適切に表現していない。
生成されたコードのセキュリティを評価することに焦点を当てたベンチマークが明らかに欠落している。
論文 参考訳(メタデータ) (2023-11-01T22:46:31Z) - How do Developers Improve Code Readability? An Empirical Study of Pull
Requests [0.0]
私たちは、109のGitHubリポジトリの下で284のMerged Pull Requests(PR)から370のコード可読性の改善を集めています。
26種類のコード可読性を改善したカタログを作成しました。
驚いたことに、SonarQubeは370のコード可読性の改善のうち26だけを検出した。
論文 参考訳(メタデータ) (2023-09-05T21:31:21Z) - Can ChatGPT replace StackOverflow? A Study on Robustness and Reliability
of Large Language Model Code Generation [8.575560293086289]
大規模言語モデル(LLM)は、自然言語を理解し、プログラミングコードを生成する素晴らしい能力を示している。
生成されたコードにおけるAPIの誤用は、リソースリークやプログラムクラッシュといった深刻な問題を引き起こす可能性がある。
論文 参考訳(メタデータ) (2023-08-20T18:36:28Z) - GRACE: Discriminator-Guided Chain-of-Thought Reasoning [75.35436025709049]
本稿では, 正しい推論手順を導出するために, GRACE (CorrectnEss Discriminator) を用いたチェーン・オブ・シークレット・リAsoningを提案する。
GRACEは、正しいステップと間違ったステップに対して対照的な損失で訓練された判別器を採用しており、復号時に次のステップ候補を採点するために使用される。
論文 参考訳(メタデータ) (2023-05-24T09:16:51Z) - ALGO: Synthesizing Algorithmic Programs with LLM-Generated Oracle
Verifiers [60.6418431624873]
大きな言語モデル(LLM)は、機能記述からコードを実装するのに優れているが、アルゴリズムの問題に悩まされている。
我々は,アルゴリズムプログラムを LLM 生成 Oracle で合成するフレームワーク ALGO を提案し,その生成をガイドし,その正確性を検証する。
実験の結果,ALGOを装着すると,Codexモデルよりも8倍,CodeTよりも2.6倍の1サブミッションパス率が得られることがわかった。
論文 参考訳(メタデータ) (2023-05-24T00:10:15Z) - Towards Generating Functionally Correct Code Edits from Natural Language
Issue Descriptions [11.327913840111378]
Defects4J-NL2Fixは、人気のあるDefects4Jデータセットから283のJavaプログラムのデータセットで、バグ修正の高レベルな記述を付加します。
本研究は,この課題に対するいくつかの最先端LCMの性能を実証的に評価する。
論文 参考訳(メタデータ) (2023-04-07T18:58:33Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。