論文の概要: Unify and Triumph: Polyglot, Diverse, and Self-Consistent Generation of Unit Tests with LLMs
- arxiv url: http://arxiv.org/abs/2503.16144v1
- Date: Thu, 20 Mar 2025 13:47:06 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-03-21 16:36:00.339636
- Title: Unify and Triumph: Polyglot, Diverse, and Self-Consistent Generation of Unit Tests with LLMs
- Title(参考訳): 統一と勝利:LLMを用いた単体テストの多言語・多言語・多言語・自己持続的生成
- Authors: Djamel Eddine Khelladi, Charly Reux, Mathieu Acher,
- Abstract要約: PolyTestは、ポリグロットと温度制御の多様性を活用することによって、テスト生成を強化する新しいアプローチである。
PolyTestは、テストセットを統一し、自己整合を育み、全体的なテスト品質を改善することで、一貫性を緩和する。
- 参考スコア(独自算出の注目度): 5.366354612549172
- License:
- Abstract: Large language model (LLM)-based test generation has gained attention in software engineering, yet most studies evaluate LLMs' ability to generate unit tests in a single attempt for a given language, missing the opportunity to leverage LLM diversity for more robust testing. This paper introduces PolyTest, a novel approach that enhances test generation by exploiting polyglot and temperature-controlled diversity. PolyTest systematically leverages these properties in two complementary ways: (1) Cross-lingual test generation, where tests are generated in multiple languages at zero temperature and then unified; (2) Diverse test sampling, where multiple test sets are generated within the same language at a higher temperature before unification. A key insight is that LLMs can generate diverse yet contradicting tests -- same input, different expected outputs -- across languages and generations. PolyTest mitigates inconsistencies by unifying test sets, fostering self-consistency and improving overall test quality. Unlike single-language or single-attempt approaches, PolyTest enhances testing without requiring on-the-fly execution, making it particularly beneficial for weaker-performing languages. We evaluate PolyTest on Llama3-70B, GPT-4o, and GPT-3.5 using EvalPlus, generating tests in five languages (Java, C, Python, JavaScript, and a CSV-based format) at temperature 0 and sampling multiple sets at temperature 1. We observe that LLMs frequently generate contradicting tests across settings, and that PolyTest significantly improves test quality across all considered metrics -- number of tests, passing rate, statement/branch coverage (up to +9.01%), and mutation score (up to +11.23%). Finally, PolyTest outperforms Pynguin in test generation, passing rate, and mutation score.
- Abstract(参考訳): 大規模言語モデル(LLM)ベースのテスト生成は、ソフトウェア工学において注目されているが、ほとんどの研究は、LLMが与えられた言語に対して単一の試みで単体テストを生成する能力を評価し、より堅牢なテストにLLMの多様性を利用する機会を欠いている。
本稿では,ポリグロットと温度制御の多様性を活用することによって,テスト生成を向上させる新しいアプローチであるPolyTestを紹介する。
PolyTestはこれらの特性を2つの相補的な方法で体系的に活用する。(1)言語間テスト生成、(2)ゼロ温度で複数の言語でテストが生成され、その後に統一される、(2)異なるテストサンプリング、(2)複数のテストセットが同じ言語内でより高温で生成される、という2つの方法だ。
重要な洞察は、LLMは言語や世代間で多様な矛盾するテスト(同じインプット、異なる期待アウトプット)を生成することができるということです。
PolyTestは、テストセットを統一し、自己整合を育み、全体的なテスト品質を改善することで、一貫性を緩和する。
シングル言語やシングルタッチのアプローチとは異なり、PolyTestはオンザフライ実行を必要とせずにテストを強化し、パフォーマンスの低い言語に特に有益である。
EvalPlusを使ってLlama3-70B, GPT-4o, GPT-3.5上でPolyTestを評価し, 温度0で5言語(Java, C, Python, JavaScript, CSVベースのフォーマット)でテストを生成し, 温度1で複数のセットをサンプリングした。
また、PolyTestはテスト数、通過率、ステートメント/ブランチカバレッジ(+9.01%まで)、突然変異スコア(+11.23%まで)など、すべての考慮されたメトリクスでテスト品質を大幅に改善する。
最後に、PolyTestはテスト生成、パスレート、突然変異スコアでPynguinを上回っている。
関連論文リスト
- ProjectTest: A Project-level LLM Unit Test Generation Benchmark and Impact of Error Fixing Mechanisms [48.43237545197775]
単体テスト生成はLLMの有望かつ重要なユースケースとなっている。
ProjectTestは、Python、Java、JavaScriptをカバーするユニットテスト生成のためのプロジェクトレベルのベンチマークである。
論文 参考訳(メタデータ) (2025-02-10T15:24:30Z) - Improving the Readability of Automatically Generated Tests using Large Language Models [7.7149881834358345]
探索型ジェネレータの有効性とLLM生成試験の可読性を組み合わせることを提案する。
提案手法は,検索ツールが生成するテスト名や変数名の改善に重点を置いている。
論文 参考訳(メタデータ) (2024-12-25T09:08:53Z) - Do LLMs generate test oracles that capture the actual or the expected program behaviour? [7.772338538073763]
大きな言語モデル(LLM)は、開発者のようなコードやテストケースを生成するために、膨大な量のデータに基づいて訓練されています。
この調査には、開発者によって書かれ、自動生成されるテストケースと、24のオープンソースJavaリポジトリのオーラクルが含まれている。
LLMは正しいオーラクルを分類するよりもテストオーラクルを生成する方が優れており、コードが有意義なテスト名や変数名を含む場合、よりよいテストオーラクルを生成することができる。
論文 参考訳(メタデータ) (2024-10-28T15:37:06Z) - Do Test and Environmental Complexity Increase Flakiness? An Empirical Study of SAP HANA [47.29324864511411]
不安定なテストはコードの変更なしにランダムに失敗する。
テストの特徴と,テストのフレキネスに影響を与える可能性のあるテスト環境について検討する。
論文 参考訳(メタデータ) (2024-09-16T07:52:09Z) - ASTER: Natural and Multi-language Unit Test Generation with LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
コードカバレッジとテスト自然性の観点から,生成したテストの品質を評価するための実証的研究を行った。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - Observation-based unit test generation at Meta [52.4716552057909]
TestGenは、アプリケーション実行中に観察された複雑なオブジェクトのシリアライズされた観察から作られたユニットテストを自動的に生成する。
TestGenは518のテストを本番環境に投入し、継続的統合で9,617,349回実行され、5,702の障害が見つかった。
評価の結果,信頼性の高い4,361のエンドツーエンドテストから,少なくとも86%のクラスでテストを生成することができた。
論文 参考訳(メタデータ) (2024-02-09T00:34:39Z) - Generating and Evaluating Tests for K-12 Students with Language Model
Simulations: A Case Study on Sentence Reading Efficiency [45.6224547703717]
本研究は,学生の読解能力の経時的評価に用いるサイレント文読解効率の試験に焦点を当てた。
本研究では,従来の学生が未確認項目に対してどのように反応したかをシミュレートするために,大規模言語モデル(LLM)を微調整することを提案する。
生成したテストは,クラウドワーカーの反応に基づいて,元のテストの難易度と信頼性に密接に対応していることを示す。
論文 参考訳(メタデータ) (2023-10-10T17:59:51Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z) - BiasTestGPT: Using ChatGPT for Social Bias Testing of Language Models [73.29106813131818]
テスト文は限られた手動テンプレートから生成されるか、高価なクラウドソーシングを必要とするため、現時点ではバイアステストは煩雑である。
ソーシャルグループと属性の任意のユーザ指定の組み合わせを考慮し、テスト文の制御可能な生成にChatGPTを使うことを提案する。
本稿では,HuggingFace上にホストされているオープンソースの総合的バイアステストフレームワーク(BiasTestGPT)について紹介する。
論文 参考訳(メタデータ) (2023-02-14T22:07:57Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。