論文の概要: An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation
- arxiv url: http://arxiv.org/abs/2302.06527v4
- Date: Mon, 11 Dec 2023 11:50:51 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-12 22:54:07.001942
- Title: An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation
- Title(参考訳): 大規模言語モデルを用いた自動単体テスト生成の実証評価
- Authors: Max Sch\"afer, Sarah Nadi, Aryaz Eghbali, Frank Tip
- Abstract要約: 本稿では,自動単体テスト生成における大規模言語モデルの有効性について,大規模な実証評価を行った。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
TestPilotの生成されたテストの92.8%は、既存のテストと50%以上の類似性を持っていない。
- 参考スコア(独自算出の注目度): 3.9762912548964864
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Unit tests play a key role in ensuring the correctness of software. However,
manually creating unit tests is a laborious task, motivating the need for
automation. Large Language Models (LLMs) have recently been applied to this
problem, utilizing additional training or few-shot learning on examples of
existing tests. This paper presents a large-scale empirical evaluation on the
effectiveness of LLMs for automated unit test generation without additional
training or manual effort, providing the LLM with the signature and
implementation of the function under test, along with usage examples extracted
from documentation. We also attempt to repair failed generated tests by
re-prompting the model with the failing test and error message. We implement
our approach in TestPilot, a test generation tool for JavaScript that
automatically generates unit tests for all API functions in an npm package. We
evaluate TestPilot using OpenAI's gpt3.5-turbo LLM on 25 npm packages with a
total of 1,684 API functions. The generated tests achieve a median statement
coverage of 70.2% and branch coverage of 52.8%, significantly improving on
Nessie, a recent feedback-directed JavaScript test generation technique, which
achieves only 51.3% statement coverage and 25.6% branch coverage. We also find
that 92.8% of TestPilot's generated tests have no more than 50% similarity with
existing tests (as measured by normalized edit distance), with none of them
being exact copies. Finally, we run TestPilot with two additional LLMs,
OpenAI's older code-cushman-002 LLM and the open LLM StarCoder. Overall, we
observed similar results with the former (68.2% median statement coverage), and
somewhat worse results with the latter (54.0% median statement coverage),
suggesting that the effectiveness of the approach is influenced by the size and
training set of the LLM, but does not fundamentally depend on the specific
model.
- Abstract(参考訳): ユニットテストはソフトウェアの正しさを保証する上で重要な役割を果たします。
しかし、手動でユニットテストを作成するのは面倒な作業であり、自動化の必要性を動機付けます。
大規模な言語モデル(llm)がこの問題に最近適用され、既存のテストの例で追加のトレーニングやわずかな学習が活用されている。
本稿では,自動単体テスト生成におけるLLMの有効性を,追加のトレーニングや手作業なしに大規模に評価し,LLMにテスト中の関数の署名と実装と,ドキュメントから抽出した使用例を提供する。
また、失敗したテストとエラーメッセージでモデルを再プロンプトすることで、失敗したテストの修復も試みました。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
合計1,684個のAPI関数を持つ25 npmパッケージ上で,OpenAIのgpt3.5-turbo LLMを用いてTestPilotを評価する。
生成したテストは、平均的なステートメントカバレッジ70.2%、ブランチカバレッジ52.8%を達成し、最近フィードバック指向のjavascriptテスト生成テクニックであるnessieで大幅に改善され、51.3%のステートメントカバレッジと25.6%のブランチカバレッジを達成した。
また、TestPilotの生成したテストの92.8%は、既存のテスト(正規化編集距離によって測定される)と50%以上の類似性がなく、いずれも正確なコピーではないことも判明した。
最後に、2つのLLM、OpenAIの古いCode-cushman-002 LLMとオープンなLLM StarCoderでTestPilotを実行します。
概して, 前者(68.2%), 後者(54.0%), やや悪い結果(54.0%)で同様の結果が得られ, LLMのサイズとトレーニングセットに影響されているが, 基本的には特定のモデルに依存していないことが示唆された。
関連論文リスト
- GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech
Detection? [55.20381279291041]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - Automated Unit Test Improvement using Large Language Models at Meta [44.87533111512982]
本稿では,LLMを用いたMetaのTestGen-LLMツールについて述べる。
InstagramとFacebookプラットフォームのMetaテストアソンにおけるTestGen-LLMのデプロイについて説明する。
論文 参考訳(メタデータ) (2024-02-14T13:43:14Z) - 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) - Taming Timeout Flakiness: An Empirical Study of SAP HANA [51.66447662096959]
不安定なテストは回帰テストに悪影響を及ぼします。
テストタイムアウトは、このような不安定なテストの失敗に寄与する要因のひとつです。
テストのフレキネス率は、繰り返しテストの実行回数によって49%から70%の範囲である。
論文 参考訳(メタデータ) (2024-02-07T20:01:41Z) - Code-Aware Prompting: A study of Coverage Guided Test Generation in
Regression Setting using LLM [34.07127332725332]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
我々のアプローチは、事前訓練されたLLMが、追加の訓練をすることなく、より完全なテストケースを生成することを可能にする。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - Benchmarking Large Language Models As AI Research Agents [105.65277755304277]
我々は,AI研究エージェントをベンチマークするMLタスクスイートであるMLAgentBenchを提案する。
我々は, GPT-4をベースとした研究エージェントが, MLAgentBenchの多くのタスクにおいて, 魅力的なMLモデルを構築できることを発見した。
長期計画や幻覚など,LSMをベースとした研究エージェントにとって重要な課題をいくつか挙げる。
論文 参考訳(メタデータ) (2023-10-05T04:06:12Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z) - Active Testing: Sample-Efficient Model Evaluation [39.200332879659456]
サンプル効率のよいモデル評価のための新しいフレームワークであるactive testingを紹介する。
アクティブテストは、ラベルにテストポイントを慎重に選択することでこれに対処する。
我々は,推定器のばらつきを低減しつつ,バイアスの除去方法を示す。
論文 参考訳(メタデータ) (2021-03-09T10:20:49Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。