論文の概要: 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の一般的な文脈を超えた新しいコードコンテキスト対応検索機構を導入し,他のコード関連タスクに対する貴重な洞察と潜在的な応用を提供する。
関連論文リスト
- Test Wars: A Comparative Study of SBST, Symbolic Execution, and LLM-Based Approaches to Unit Test Generation [11.037212298533069]
大規模言語モデル(LLM)は、自動テストを生成する新しい機会を開いた。
本稿では,SBSTのEvoSuite,シンボル実行のKex,LLMベースのテスト生成のTestSparkという3つのツールを用いた自動テスト生成手法について検討する。
以上の結果から,LSMベースのテスト生成は有望であるが,従来の手法には及ばないことがわかった。
論文 参考訳(メタデータ) (2025-01-17T13:48:32Z) - Commit0: Library Generation from Scratch [77.38414688148006]
Commit0は、AIエージェントにスクラッチからライブラリを書くよう促すベンチマークである。
エージェントには、ライブラリのAPIを概説する仕様文書と、インタラクティブなユニットテストスイートが提供されている。
Commit0はまた、モデルが生成したコードに対して静的解析と実行フィードバックを受け取る、インタラクティブな環境も提供する。
論文 参考訳(メタデータ) (2024-12-02T18:11:30Z) - A Controlled Study on Long Context Extension and Generalization in LLMs [85.4758128256142]
広義のテキスト理解とテキスト内学習は、完全な文書コンテキストを利用する言語モデルを必要とする。
長期コンテキストモデルを直接訓練する際の実装上の課題のため、長期コンテキストを扱うためにモデルを拡張する多くの方法が提案されている。
我々は,一貫したベースモデルと拡張データを利用して,標準化された評価による拡張メソッドの制御プロトコルを実装した。
論文 参考訳(メタデータ) (2024-09-18T17:53:17Z) - ASTER: Natural and Multi-language Unit Test Generation with LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成において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) - Generation-Augmented Retrieval for Open-domain Question Answering [134.27768711201202]
GAR(Generation-Augmented Retrieval)は、オープンドメインの質問に答える機能である。
クエリーに対して多様なコンテキストを生成することは、結果の融合が常により良い検索精度をもたらすので有益であることを示す。
GARは、抽出読取装置を備えた場合、抽出QA設定の下で、自然質問およびトリビアQAデータセットの最先端性能を達成する。
論文 参考訳(メタデータ) (2020-09-17T23:08:01Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。