論文の概要: TestBench: Evaluating Class-Level Test Case Generation Capability of Large Language Models
- arxiv url: http://arxiv.org/abs/2409.17561v1
- Date: Thu, 26 Sep 2024 06:18:06 GMT
- ステータス: 処理完了
- システム内更新日: 2024-09-28 22:56:36.412589
- Title: TestBench: Evaluating Class-Level Test Case Generation Capability of Large Language Models
- Title(参考訳): TestBench: 大規模言語モデルのクラスレベルテストケース生成機能の評価
- Authors: Quanjun Zhang, Ye Shang, Chunrong Fang, Siqi Gu, Jianyi Zhou, Zhenyu Chen,
- Abstract要約: クラスレベルのLLMベースのテストケース生成のためのベンチマークであるTestBenchを紹介する。
GitHub上の9つの実世界の大規模プロジェクトから108のJavaプログラムのデータセットを構築します。
本稿では,構文的正当性,コンパイル的正当性,テスト的正当性,コードカバレッジ率,欠陥検出率という,テストケースの5つの側面を考慮した詳細な評価フレームワークを提案する。
- 参考スコア(独自算出の注目度): 8.22619177301814
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Software testing is a crucial phase in the software life cycle, helping identify potential risks and reduce maintenance costs. With the advancement of Large Language Models (LLMs), researchers have proposed an increasing number of LLM-based software testing techniques, particularly in the area of test case generation. Despite the growing interest, limited efforts have been made to thoroughly evaluate the actual capabilities of LLMs in this task. In this paper, we introduce TestBench, a benchmark for class-level LLM-based test case generation. We construct a dataset of 108 Java programs from 9 real-world, large-scale projects on GitHub, each representing a different thematic domain. We then design three distinct types of prompts based on context descriptions, including self-contained context, full context, and simple context. Besides, we propose a fine-grained evaluation framework that considers five aspects of test cases: syntactic correctness, compilation correctness, test correctness, code coverage rate, and defect detection rate. Furthermore, we propose a heuristic algorithm to repair erroneous test cases generated by LLMs. We evaluate CodeLlama-13b, GPT-3.5, and GPT-4 on the TestBench, and our experimental results indicate that larger models demonstrate a greater ability to effectively utilize contextual information, thus generating higher-quality test cases. Smaller models may struggle with the noise introduced by the extensive information contained within the full context. However, when using the simplified version, namely the simple context, which is derived from the full context via abstract syntax tree analysis, the performance of these models improves significantly. Our analysis highlights the current progress and pinpoints future directions to further enhance the effectiveness of models by handling contextual information for test case generation.
- Abstract(参考訳): ソフトウェアテストはソフトウェアライフサイクルにおいて重要なフェーズであり、潜在的なリスクを特定し、メンテナンスコストを削減するのに役立つ。
LLM(Large Language Models)の進歩に伴い、研究者は、特にテストケース生成の分野で、LLMベースのソフトウェアテスト技術の増加を提案している。
関心が高まっているにもかかわらず、この課題におけるLLMの実際の能力を徹底的に評価するための限られた努力がなされている。
本稿では,クラスレベルのLLMテストケース生成のためのベンチマークであるTestBenchを紹介する。
GitHub上の9つの実世界の大規模プロジェクトから108のJavaプログラムのデータセットを構築します。
次に、自己完結したコンテキスト、完全なコンテキスト、シンプルなコンテキストを含む、コンテキスト記述に基づく3つの異なるタイプのプロンプトを設計する。
さらに,構文的正当性,コンパイル的正当性,テスト的正当性,コードカバレッジ率,欠陥検出率という,テストケースの5つの側面を考慮したきめ細かい評価フレームワークを提案する。
さらに,LLMが生成した誤テストケースを修復するヒューリスティックアルゴリズムを提案する。
We evaluate CodeLlama-13b, GPT-3.5, GPT-4 on the TestBench。
より小さなモデルは、完全なコンテキストに含まれる広範な情報によってもたらされるノイズに悩まされる可能性がある。
しかし、抽象構文木解析によって完全なコンテキストから派生した単純なコンテキストを単純化したバージョンを使用する場合、これらのモデルの性能は大幅に向上する。
本分析では,テストケース生成のための文脈情報を扱うことにより,モデルの有効性を高めるための今後の方向性を明らかにした。
関連論文リスト
- Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - What's Wrong with Your Code Generated by Large Language Models? An Extensive Study [80.18342600996601]
大規模言語モデル(LLM)は、標準解に比べて短いがより複雑なコードを生成する。
3つのカテゴリと12のサブカテゴリを含む誤ったコードに対するバグの分類を開発し、一般的なバグタイプに対する根本原因を分析する。
そこで本研究では,LLMがバグタイプやコンパイラフィードバックに基づいて生成したコードを批判し,修正することのできる,自己批判を導入した新たな学習自由反復手法を提案する。
論文 参考訳(メタデータ) (2024-07-08T17:27:17Z) - 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) - SORRY-Bench: Systematically Evaluating Large Language Model Safety Refusal Behaviors [64.9938658716425]
安全でないユーザリクエストを認識して拒否する、大規模な言語モデル(LLM)の既存の評価は、3つの制限に直面している。
まず、既存の手法では、安全でないトピックの粗い粒度を使い、いくつかのきめ細かいトピックを過剰に表現している。
第二に、プロンプトの言語的特徴とフォーマッティングは、様々な言語、方言など、多くの評価において暗黙的にのみ考慮されているように、しばしば見過ごされる。
第3に、既存の評価は大きなLCMに頼っているため、コストがかかる可能性がある。
論文 参考訳(メタデータ) (2024-06-20T17:56:07Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - 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) - Self-Evaluation Improves Selective Generation in Large Language Models [54.003992911447696]
オープンエンド生成タスクをトークンレベルの予測タスクに再構成する。
我々はLSMに答えを自己評価するように指示する。
自己評価に基づくスコアリング手法をベンチマークする。
論文 参考訳(メタデータ) (2023-12-14T19:09:22Z) - BLESS: Benchmarking Large Language Models on Sentence Simplification [55.461555829492866]
我々は、テキスト単純化(TS)タスク上で、最新の最先端の大規模言語モデル(LLM)のパフォーマンスベンチマークであるBLESSを紹介する。
異なるドメイン(Wikipedia、ニュース、医療)の3つのテストセットに対して、サイズ、アーキテクチャ、事前学習方法、アクセシビリティの異なる44のモデルを評価する。
評価の結果,最高のLSMはTSのトレーニングを受けていないにもかかわらず,最先端のTSベースラインと相容れない性能を示した。
論文 参考訳(メタデータ) (2023-10-24T12:18:17Z) - Generative Judge for Evaluating Alignment [84.09815387884753]
本稿では,これらの課題に対処するために,13Bパラメータを持つ生成判断器Auto-Jを提案する。
我々のモデルは,大規模な実環境シナリオ下でのユーザクエリとLLM生成応答に基づいて訓練されている。
実験的に、Auto-Jはオープンソースモデルとクローズドソースモデルの両方を含む、強力なライバルのシリーズを上回っている。
論文 参考訳(メタデータ) (2023-10-09T07:27:15Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - Revisiting Out-of-distribution Robustness in NLP: Benchmark, Analysis,
and LLMs Evaluations [111.88727295707454]
本稿では,NLP分野におけるアウト・オブ・ディストリビューション(OOD)のロバスト性に関する研究を再検討する。
本稿では, 明確な分化と分散の困難さを保証するための, ベンチマーク構築プロトコルを提案する。
我々は,OODロバスト性の分析と評価のための事前学習言語モデルの実験を行った。
論文 参考訳(メタデータ) (2023-06-07T17:47:03Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。