論文の概要: Adaptive Test Generation Using a Large Language Model
- arxiv url: http://arxiv.org/abs/2302.06527v1
- Date: Mon, 13 Feb 2023 17:13:41 GMT
- ステータス: 処理完了
- システム内更新日: 2023-02-14 14:44:10.592121
- Title: Adaptive Test Generation Using a Large Language Model
- Title(参考訳): 大規模言語モデルを用いた適応型テスト生成
- Authors: Max Sch\"afer, Sarah Nadi, Aryaz Eghbali, Frank Tip
- Abstract要約: TestPilotは、大規模言語モデル(LLM)を活用する適応型テスト生成技術である。
Codexには、テスト中の関数の署名と実装を含むプロンプトと、ドキュメントから抽出された使用例が含まれている。
生成されたテストがフェールした場合、TestPilotの適応コンポーネントは、フェールしたテストとエラーメッセージでモデルを再実行することで、問題を修正する新しいテストを生成しようとします。
- 参考スコア(独自算出の注目度): 2.4756236418706483
- 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. This paper presents TestPilot, an adaptive test generation
technique that leverages Large Language Models (LLMs). TestPilot uses Codex, an
off-the-shelf LLM, to automatically generate unit tests for a given program
without requiring additional training or few-shot learning on examples of
existing tests. In our approach, Codex is provided with prompts that include
the signature and implementation of a function under test, along with usage
examples extracted from documentation. If a generated test fails, TestPilot's
adaptive component attempts to generate a new test that fixes the problem by
re-prompting the model with the failing test and error message. We created an
implementation of TestPilot for JavaScript and evaluated it on 25 npm packages
with a total of 1,684 API functions to generate tests for. Our results show
that the generated tests achieve up to 93.1% statement coverage (median 68.2%).
Moreover, on average, 58.5% of the generated tests contain at least one
assertion that exercises functionality from the package under test. Our
experiments with excluding parts of the information included in the prompts
show that all components contribute towards the generation of effective test
suites. Finally, we find that TestPilot does not generate memorized tests:
92.7% of our generated tests have $\leq$ 50% similarity with existing tests (as
measured by normalized edit distance), with none of them being exact copies.
- Abstract(参考訳): ユニットテストはソフトウェアの正しさを保証する上で重要な役割を果たします。
しかし、手動でユニットテストを作成するのは面倒な作業であり、自動化の必要性を動機付けます。
本稿では,大規模言語モデル(LLM)を利用した適応型テスト生成手法であるTestPilotを提案する。
TestPilotは、既製のLLMであるCodexを使用して、既存のテスト例で追加のトレーニングや数発の学習を必要とせずに、プログラムのユニットテストを自動的に生成する。
このアプローチでは、Codexは、テスト中の関数の署名と実装を含むプロンプトと、ドキュメントから抽出された使用例を提供します。
生成されたテストが失敗した場合、testpilotのadaptive componentは、失敗したテストとエラーメッセージでモデルを再プロンプトすることで、問題を修正する新しいテストの生成を試みる。
私たちはTestPilot for JavaScriptの実装を作成し、テストを生成するために合計1,684のAPI関数で25 npmパッケージで評価しました。
その結果、生成したテストは93.1%のステートメントカバレッジ(中間68.2%)を達成した。
さらに、生成したテストの58.5%は、テスト中のパッケージから機能を実行する少なくとも1つのアサーションを含んでいる。
プロンプトに含まれる情報の一部を除外した実験は、すべてのコンポーネントが効果的なテストスイートの生成に寄与していることを示している。
生成したテストの92.7%は、既存のテストと(正規化された編集距離で測定されたように)50%の類似度を持ち、どれも正確なコピーではありません。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。