論文の概要: LLM-based Unit Test Generation via Property Retrieval
- arxiv url: http://arxiv.org/abs/2410.13542v1
- Date: Thu, 17 Oct 2024 13:33:12 GMT
- ステータス: 翻訳完了
- システム内更新日: 2024-10-18 13:20:54.153941
- Title: LLM-based Unit Test Generation via Property Retrieval
- Title(参考訳): LLMを用いたプロパティ検索による単体テスト生成
- Authors: Zhe Zhang, Xingyu Liu, Yuanzhang Lin, Xiang Gao, Hailong Sun, Yuan Yuan,
- Abstract要約: プロパティベースのRetrieval Augmentationは、基本的なベクトル、テキスト類似性、グラフベースのメソッドを超えてLLMベースのRetrieval-Augmented Generationを拡張する。
提案手法では,タスク固有のコンテキストを考慮し,プロパティ検索機構を導入している。
提案手法は,前処理,プロパティ検索,単体テスト生成を逐次実行するAPTと呼ばれるツールに実装する。
- 参考スコア(独自算出の注目度): 26.906316611858518
- License:
- Abstract: Automated unit test generation has been widely studied, with Large Language Models (LLMs) recently showing significant potential. Moreover, in the context of unit test generation, these tools prioritize high code coverage, often at the expense of practical usability, correctness, and maintainability. In response, we propose Property-Based Retrieval Augmentation, a novel mechanism that extends LLM-based Retrieval-Augmented Generation (RAG) beyond basic vector, text similarity, and graph-based methods. Our approach considers task-specific context and introduces a tailored property retrieval mechanism. Specifically, in the unit test generation task, we account for the unique structure of unit tests by dividing the test generation process into Given, When, and Then phases. When generating tests for a focal method, we not only retrieve general context for the code under test but also consider task-specific context such as pre-existing tests of other methods, which can provide valuable insights for any of the Given, When, and Then phases. This forms property relationships between focal method and other methods, thereby expanding the scope of retrieval beyond traditional RAG. We implement this approach in a tool called APT, which sequentially performs preprocessing, property retrieval, and unit test generation, using an iterative strategy where newly generated tests guide the creation of subsequent ones. We evaluated APT on 12 open-source projects with 1515 methods, and the results demonstrate that APT consistently outperforms existing tools in terms of correctness, completeness, and maintainability of the generated tests. Moreover, we introduce a novel code-context-aware retrieval mechanism for LLMs beyond general context, offering valuable insights and potential applications for other code-related tasks.
- Abstract(参考訳): 自動単体テスト生成は広く研究されており、Large Language Models (LLMs) は近年大きな可能性を秘めている。
さらに、ユニットテスト生成の文脈では、これらのツールは高いコードカバレッジを優先します。
そこで本研究では,LLMをベースとしたRetrieval-Augmented Generation(RAG)を基本ベクトル,テキストの類似性,グラフベースの手法を超えて拡張する新しいメカニズムであるProperty-based Retrieval Augmentationを提案する。
提案手法では,タスク固有のコンテキストを考慮し,プロパティ検索機構を導入している。
具体的には、単体テスト生成タスクにおいて、テスト生成プロセスをGiven, When, Thenフェーズに分割することで、単体テストのユニークな構造を説明します。
フォーカスメソッドのテストを生成する場合、テスト中のコードの一般的なコンテキストを検索するだけでなく、他のメソッドの事前テストのようなタスク固有のコンテキストも考慮します。
これにより、焦点法と他の方法とのプロパティ関係が形成され、従来のRAGを超えて検索範囲が拡大される。
提案手法は,前処理,プロパティ検索,単体テスト生成を逐次実行するAPTと呼ばれるツールに実装する。
我々は1515の手法で12のオープンソースプロジェクトでAPTを評価し、その結果、APTは生成したテストの正確性、完全性、保守性という点で既存のツールを一貫して上回っていることを示した。
さらに,LLMの一般的な文脈を超えた新しいコードコンテキスト対応検索機構を導入し,他のコード関連タスクに対する貴重な洞察と潜在的な応用を提供する。
関連論文リスト
- A Controlled Study on Long Context Extension and Generalization in LLMs [85.4758128256142]
広義のテキスト理解とテキスト内学習は、完全な文書コンテキストを利用する言語モデルを必要とする。
長期コンテキストモデルを直接訓練する際の実装上の課題のため、長期コンテキストを扱うためにモデルを拡張する多くの方法が提案されている。
我々は,一貫したベースモデルと拡張データを利用して,標準化された評価による拡張メソッドの制御プロトコルを実装した。
論文 参考訳(メタデータ) (2024-09-18T17:53:17Z) - Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - A System for Automated Unit Test Generation Using Large Language Models and Assessment of Generated Test Suites [1.4563527353943984]
大規模言語モデル(LLM)はソフトウェア開発の様々な側面に適用されている。
Javaプロジェクトのテストスイートを生成する自動化システムであるAgoneTestを紹介します。
論文 参考訳(メタデータ) (2024-08-14T23:02:16Z) - Automatic benchmarking of large multimodal models via iterative experiment programming [71.78089106671581]
本稿では,LMMの自動ベンチマークのための最初のフレームワークであるAPExを紹介する。
自然言語で表現された研究の質問に対して、APExは大きな言語モデル(LLM)と事前定義されたツールのライブラリを活用して、手元にあるモデルの一連の実験を生成する。
調査の現在の状況に基づいて、APExはどの実験を行うか、結果が結論を引き出すのに十分かどうかを選択する。
論文 参考訳(メタデータ) (2024-06-18T06:43:46Z) - Enhancing LLM-based Test Generation for Hard-to-Cover Branches via Program Analysis [8.31978033489419]
難解な分岐に到達可能なテストを生成する新しい技術である TELPA を提案する。
27のオープンソースPythonプロジェクトに対する実験結果から,TELPAは最先端のSBSTやLLMベースの技術よりも優れていたことが判明した。
論文 参考訳(メタデータ) (2024-04-07T14:08:28Z) - Code-Aware Prompting: A study of Coverage Guided Test Generation in Regression Setting using LLM [32.44432906540792]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
SymPromptは、正しいテスト世代を5倍に増やし、CodeGen2の相対カバレッジを26%向上させる。
特に、GPT-4に適用すると、SymPromptはベースラインのプロンプト戦略に比べて2倍以上のカバレッジが向上する。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - Leveraging Large Language Models to Improve REST API Testing [51.284096009803406]
RESTGPTはAPI仕様を入力として、機械解釈可能なルールを抽出し、仕様内の自然言語記述からサンプルパラメータ値を生成する。
評価の結果、RESTGPTはルール抽出と値生成の両方において既存の技術よりも優れています。
論文 参考訳(メタデータ) (2023-12-01T19:53:23Z) - Generative Judge for Evaluating Alignment [84.09815387884753]
本稿では,これらの課題に対処するために,13Bパラメータを持つ生成判断器Auto-Jを提案する。
我々のモデルは,大規模な実環境シナリオ下でのユーザクエリとLLM生成応答に基づいて訓練されている。
実験的に、Auto-Jはオープンソースモデルとクローズドソースモデルの両方を含む、強力なライバルのシリーズを上回っている。
論文 参考訳(メタデータ) (2023-10-09T07:27:15Z) - Test Case Recommendations with Distributed Representation of Code
Syntactic Features [2.225268436173329]
本稿では,ソースコード手法とテストケースの構造的・意味的特性を利用する自動手法を提案する。
提案するアプローチは、当初、メソッドレベルのソースコードとユニットテストを分散表現に変換するためにニューラルネットワークをトレーニングする。
このモデルは、メソッドの埋め込みと以前に組み込まれたトレーニングインスタンスのコサイン類似性を計算します。
論文 参考訳(メタデータ) (2023-10-04T21:42:01Z) - Generalization Properties of Retrieval-based Models [50.35325326050263]
検索ベースの機械学習手法は、幅広い問題で成功をおさめた。
これらのモデルの約束を示す文献が増えているにもかかわらず、そのようなモデルの理論的基盤はいまだに解明されていない。
本稿では,その一般化能力を特徴付けるために,検索ベースモデルの形式的処理を行う。
論文 参考訳(メタデータ) (2022-10-06T00:33:01Z) - Generation-Augmented Retrieval for Open-domain Question Answering [134.27768711201202]
GAR(Generation-Augmented Retrieval)は、オープンドメインの質問に答える機能である。
クエリーに対して多様なコンテキストを生成することは、結果の融合が常により良い検索精度をもたらすので有益であることを示す。
GARは、抽出読取装置を備えた場合、抽出QA設定の下で、自然質問およびトリビアQAデータセットの最先端性能を達成する。
論文 参考訳(メタデータ) (2020-09-17T23:08:01Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。