論文の概要: Reinforcement Learning from Automatic Feedback for High-Quality Unit Test Generation
- arxiv url: http://arxiv.org/abs/2412.14308v1
- Date: Wed, 18 Dec 2024 20:20:01 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-12-20 13:33:33.866548
- Title: Reinforcement Learning from Automatic Feedback for High-Quality Unit Test Generation
- Title(参考訳): 高品位単体テスト生成のための自動フィードバックからの強化学習
- Authors: Benjamin Steenhoek, Michele Tufano, Neel Sundaresan, Alexey Svyatkovskiy,
- Abstract要約: 大規模言語モデル(LLM)は自動テストケース生成で人気を集めている。
LLMは大量のオープンソースコードでトレーニングされているため、ベストプラクティスに従わないテストケースをしばしば生成します。
静的解析に基づく品質指標に基づく高品質な単体テストを生成するために,RLSQM(Reinforcement Learning from Static Quality Metrics)を提案する。
- 参考スコア(独自算出の注目度): 12.503002900186997
- License:
- Abstract: Software testing is a crucial but time-consuming aspect of software development, and recently, Large Language Models (LLMs) have gained popularity for automated test case generation. However, because LLMs are trained on vast amounts of open-source code, they often generate test cases that do not adhere to best practices and may even contain test smells (anti-patterns). To address this issue, we propose Reinforcement Learning from Static Quality Metrics (RLSQM), wherein we utilize Reinforcement Learning to generate high-quality unit tests based on static analysis-based quality metrics. First, we analyzed LLM-generated tests and show that LLMs frequently do generate undesirable test smells -- up to 37% of the time. Then, we implemented lightweight static analysis-based reward model and trained LLMs using this reward model to optimize for five code quality metrics. Our experimental results demonstrate that the RL-optimized Codex model consistently generated higher-quality test cases than the base LLM, improving quality metrics by up to 23%, and generated nearly 100% syntactically-correct code. RLSQM also outperformed GPT-4 on all code quality metrics, in spite of training a substantially cheaper Codex model. We provide insights into how reliably utilize RL to improve test generation quality and show that RLSQM is a significant step towards enhancing the overall efficiency and reliability of automated software testing. Our data are available at https://doi.org/10.6084/m9.figshare.25983166.
- Abstract(参考訳): ソフトウェアテストはソフトウェア開発において決定的だが時間を要する側面であり、最近はLarge Language Models (LLM) が自動テストケース生成で人気を集めている。
しかしながら、LLMは大量のオープンソースコードでトレーニングされているため、ベストプラクティスに従わず、テストの臭い(アンチパターン)を含むテストケースをしばしば生成します。
この問題に対処するため,静的な分析に基づく品質指標に基づく高品質な単体テストを生成するために,RLSQM(Reinforcement Learning from Static Quality Metrics)を提案する。
まず、LLMが生成したテストを分析し、LLMが好ましくないテストの匂いを発生させることを、最大37%の時間で示しました。
そして,軽量な静的解析に基づく報酬モデルを実装し,この報酬モデルを用いて5つのコード品質指標を最適化した。
実験の結果,RL最適化コーデックスモデルでは,LLMよりも高品質なテストケースを連続的に生成し,品質指標を最大23%改善し,構文的にほぼ100%のコードを生成することがわかった。
RLSQMは、かなり安価なCodexモデルのトレーニングにもかかわらず、すべてのコード品質指標でGPT-4よりも優れていた。
我々は、RLを確実に利用してテスト生成品質を向上させる方法についての洞察を提供し、RSQMが自動化されたソフトウェアテストの全体的な効率性と信頼性を高めるための重要なステップであることを示す。
我々のデータはhttps://doi.org/10.6084/m9.figshare.25983166で入手できる。
関連論文リスト
- Star-Agents: Automatic Data Optimization with LLM Agents for Instruction Tuning [71.2981957820888]
本稿では,データセット間のデータ品質向上を自動化する新しいStar-Agentsフレームワークを提案する。
このフレームワークは最初,複数のLDMエージェントを用いた多様なインストラクションデータを生成する。
生成したデータは、難易度と品質の両方を評価する二重モデル法を用いて厳密な評価を行う。
論文 参考訳(メタデータ) (2024-11-21T02:30:53Z) - Precision or Peril: Evaluating Code Quality from Quantized Large Language Models [0.5249805590164902]
量子化は、大規模言語モデルのメモリオーバーヘッドを軽減する手段として登場した。
本研究の目的は、様々なメトリクスを用いて、より小さなLCMのコード生成能力を評価することである。
論文 参考訳(メタデータ) (2024-11-16T01:31:29Z) - AIME: AI System Optimization via Multiple LLM Evaluators [79.03422337674664]
AIME は複数の LLM を利用した評価プロトコルであり、それぞれが独立した基準で評価を生成し、結合を通してそれらを結合する。
コード生成タスクにおける AIME のベースラインメソッドのパフォーマンスは,LeetCodeHard と HumanEval データセットの単一 LLM 評価プロトコルよりも最大 62% 高いエラー検出率,最大 16% 高い成功率で向上している。
論文 参考訳(メタデータ) (2024-10-04T04:03:24Z) - Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - Large-scale, Independent and Comprehensive study of the power of LLMs for test case generation [11.056044348209483]
クラスやメソッドなどのコードモジュールのバグを特定するのに不可欠なユニットテストは、時間的制約のため、開発者によって無視されることが多い。
GPTやMistralのようなLarge Language Models (LLM)は、テスト生成を含むソフトウェア工学における約束を示す。
論文 参考訳(メタデータ) (2024-06-28T20:38:41Z) - Uncertainty Aware Learning for Language Model Alignment [97.36361196793929]
異なるタスクシナリオのモデルアライメントを改善するために,不確実性認識学習(UAL)を提案する。
トレーニングのラベルの平滑化値を個々のサンプルの不確実性に応じて適応的に設定する。
広く使われているベンチマーク実験では、我々のUALは標準教師あり微調整よりも著しく優れています。
論文 参考訳(メタデータ) (2024-06-07T11:37:45Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - Self-Evaluation Improves Selective Generation in Large Language Models [54.003992911447696]
オープンエンド生成タスクをトークンレベルの予測タスクに再構成する。
我々はLSMに答えを自己評価するように指示する。
自己評価に基づくスコアリング手法をベンチマークする。
論文 参考訳(メタデータ) (2023-12-14T19:09:22Z) - LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Reinforcement Learning from Automatic Feedback for High-Quality Unit
Test Generation [13.658632458850144]
大規模言語モデル(LLM)は、テストケースの自動生成を含むコード生成で人気を集めている。
LLMは、多くの場合、大量の公開コードでトレーニングされ、ベストプラクティスに従わないテストケースを含む。
RLSQM(Reinforcement Learning from Static Quality Metrics)と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2023-10-03T18:48:31Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。