論文の概要: 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%の類似度を持ち、どれも正確なコピーではありません。
関連論文リスト
- CorrectBench: Automatic Testbench Generation with Functional Self-Correction using LLMs for HDL Design [6.414167153186868]
機能的自己検証と自己補正を備えた自動テストベンチ生成フレームワークであるCorrectBenchを提案する。
提案手法は, 88.85%の成功率で生成したテストベンチの正当性を検証できる。
作業性能は, 従来よりも62.18%高く, 直接手法のパス比の約5倍である。
論文 参考訳(メタデータ) (2024-11-13T10:45:19Z) - Model Equality Testing: Which Model Is This API Serving? [59.005869726179455]
2サンプルテスト問題であるモデル品質テストのような歪みの検出を形式化する。
単純な文字列カーネル上に構築されたテストは、歪みの範囲に対して77.4%の中央値を達成する。
次に、このテストを4つのLlamaモデルの商用推論APIに適用し、31のエンドポイントのうち11がMetaがリリースしたリファレンスウェイトとは異なる分布を提供することがわかった。
論文 参考訳(メタデータ) (2024-10-26T18:34:53Z) - TestGenEval: A Real World Unit Test Generation and Test Completion Benchmark [24.14654309612826]
TestGenEvalは、1,210のコードから68,647のテストと、11の保守されたPythonリポジトリにまたがるテストファイルペアで構成されている。
初期テストのオーサリング、テストスイートの補完、コードカバレッジの改善をカバーしている。
パラメータは7Bから405Bまで様々である。
論文 参考訳(メタデータ) (2024-10-01T14:47:05Z) - Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - STAMP: Outlier-Aware Test-Time Adaptation with Stable Memory Replay [76.06127233986663]
テスト時間適応(TTA)は、トレーニングデータとテストデータの間の分散シフトに、未ラベルのデータのみを用いて対処することを目的としている。
本稿では,サンプル認識とオフリエ拒絶の両方を行う問題に注意を払っている。
本稿では,STAble Memory rePlay (STAMP) と呼ばれる新しい手法を提案する。
論文 参考訳(メタデータ) (2024-07-22T16:25:41Z) - CasModaTest: A Cascaded and Model-agnostic Self-directed Framework for Unit Test Generation [5.450831103980871]
CasModaTestは、カスケードされた、モデルに依存しない、エンドツーエンドのユニットテスト生成フレームワークである。
テストプレフィックスを生成し、オークルをテストし、それらの有効性をチェックするためにコンパイルまたは実行します。
論文 参考訳(メタデータ) (2024-06-22T05:52:39Z) - GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
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) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。