論文の概要: HITS: High-coverage LLM-based Unit Test Generation via Method Slicing
- arxiv url: http://arxiv.org/abs/2408.11324v1
- Date: Wed, 21 Aug 2024 04:14:26 GMT
- ステータス: 処理完了
- システム内更新日: 2024-08-22 18:28:56.246080
- Title: HITS: High-coverage LLM-based Unit Test Generation via Method Slicing
- Title(参考訳): HITS:メソッドスライシングによる高カバレッジLDMベースのユニットテスト生成
- Authors: Zejun Wang, Kaibo Liu, Ge Li, Zhi Jin,
- Abstract要約: 大規模言語モデル(LLM)は、Javaプロジェクトの単体テストの生成においてうまく振る舞っている。
しかし、プロジェクト内の複雑な焦点メソッドをカバーするパフォーマンスは貧弱である。
そこで本研究では, 焦点メソッドをスライスに分解し, LLMに対してスライス毎にテストケーススライスを生成することを提案する。
- 参考スコア(独自算出の注目度): 37.43624865049592
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: Large language models (LLMs) have behaved well in generating unit tests for Java projects. However, the performance for covering the complex focal methods within the projects is poor. Complex methods comprise many conditions and loops, requiring the test cases to be various enough to cover all lines and branches. However, existing test generation methods with LLMs provide the whole method-to-test to the LLM without assistance on input analysis. The LLM has difficulty inferring the test inputs to cover all conditions, resulting in missing lines and branches. To tackle the problem, we propose decomposing the focal methods into slices and asking the LLM to generate test cases slice by slice. Our method simplifies the analysis scope, making it easier for the LLM to cover more lines and branches in each slice. We build a dataset comprising complex focal methods collected from the projects used by existing state-of-the-art approaches. Our experiment results show that our method significantly outperforms current test case generation methods with LLMs and the typical SBST method Evosuite regarding both line and branch coverage scores.
- Abstract(参考訳): 大規模言語モデル(LLM)は、Javaプロジェクトの単体テストの生成においてうまく振る舞っている。
しかし、プロジェクト内の複雑な焦点メソッドをカバーするパフォーマンスは貧弱である。
複雑なメソッドは多くの条件とループで構成されており、テストケースはすべての行とブランチをカバーするのに十分な多様性を必要とする。
しかし, LLMを用いた既存のテスト生成手法は, 入力解析を介さずに, LLMのメソッド・ツー・テスト全体を提供する。
LLMは全ての条件をカバーするためにテスト入力を推測するのが困難であり、結果として行や枝が失われる。
この問題に対処するために、焦点メソッドをスライスに分解し、LLMにスライス毎にテストケースを生成することを提案する。
本手法は解析範囲を単純化し,LLMがスライス毎により多くの行や枝をカバーしやすくする。
我々は、既存の最先端アプローチで使用されているプロジェクトから収集された複雑な焦点メソッドからなるデータセットを構築する。
実験の結果,本手法は,LLMと典型的なSBST法であるEvosuiteにおいて,ラインおよびブランチのカバレッジスコアにおいて,現在のテストケース生成方法よりも有意に優れていた。
関連論文リスト
- AlphaPruning: Using Heavy-Tailed Self Regularization Theory for Improved Layer-wise Pruning of Large Language Models [94.82766517752418]
そこで我々は,AlphaPruningを提案する。このAlphaPruningは,より理論的に原理化された方法で,水平方向の空間比を割り振る。
以上よりAlphaPruning prunes LLaMA-7B to 80% sparsity while maintain well perplexity, marking a first in the literature on LLMs。
論文 参考訳(メタデータ) (2024-10-14T03:35:11Z) - AIME: AI System Optimization via Multiple LLM Evaluators [79.03422337674664]
AIME は複数の LLM を利用した評価プロトコルであり、それぞれが独立した基準で評価を生成し、結合を通してそれらを結合する。
コード生成タスクにおける AIME のベースラインメソッドのパフォーマンスは,LeetCodeHard と HumanEval データセットの単一 LLM 評価プロトコルよりも最大 62% 高いエラー検出率,最大 16% 高い成功率で向上している。
論文 参考訳(メタデータ) (2024-10-04T04:03:24Z) - zsLLMCode: An Effective Approach for Functional Code Embedding via LLM with Zero-Shot Learning [6.976968804436321]
大型言語モデル(LLM)はゼロショット学習の能力を持ち、訓練や微調整を必要としない。
LLMを用いた関数型コード埋め込みを生成する新しいアプローチであるzsLLMCodeを提案する。
論文 参考訳(メタデータ) (2024-09-23T01:03:15Z) - 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) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - 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) - LLM Inference Unveiled: Survey and Roofline Model Insights [62.92811060490876]
大規模言語モデル(LLM)推論は急速に進化しており、機会と課題のユニークなブレンドを提示している。
本調査は, 研究状況を要約するだけでなく, 屋上モデルに基づく枠組みを導入することによって, 従来の文献レビューから際立っている。
このフレームワークは、ハードウェアデバイスにLSMをデプロイする際のボトルネックを特定し、実用上の問題を明確に理解する。
論文 参考訳(メタデータ) (2024-02-26T07:33:05Z) - 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) - FollowBench: A Multi-level Fine-grained Constraints Following Benchmark for Large Language Models [79.62191017182518]
FollowBenchは、大規模言語モデルのベンチマークに続くきめ細かい制約のベンチマークである。
本稿では,初期命令に段階的に1つの制約を付加するマルチレベル機構を提案する。
FollowBench上での13のLLMの評価により,LLMの弱さと今後の研究への道のりを示す。
論文 参考訳(メタデータ) (2023-10-31T12:32:38Z) - Allies: Prompting Large Language Model with Beam Search [107.38790111856761]
本研究では,ALIESと呼ばれる新しい手法を提案する。
入力クエリが与えられた場合、ALLIESはLLMを活用して、元のクエリに関連する新しいクエリを反復的に生成する。
元のクエリのスコープを反復的に精錬して拡張することにより、ALLIESは直接検索できない隠れた知識をキャプチャし、利用する。
論文 参考訳(メタデータ) (2023-05-24T06:16:44Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。