論文の概要: Automated Test Case Generation Using Code Models and Domain Adaptation
- arxiv url: http://arxiv.org/abs/2308.08033v1
- Date: Tue, 15 Aug 2023 20:48:50 GMT
- ステータス: 処理完了
- システム内更新日: 2023-08-17 15:34:12.971261
- Title: Automated Test Case Generation Using Code Models and Domain Adaptation
- Title(参考訳): コードモデルとドメイン適応を用いた自動テストケース生成
- Authors: Sepehr Hashtroudi, Jiho Shin, Hadi Hemmati, Song Wang
- Abstract要約: 我々はTransformerベースのコードモデルを利用して、検索ベースのテスト生成を補完する単体テストを生成する。
その結果,開発者が記述したテストでカバーされていないラインをカバーする新たなテストケースを,本手法で生成できることが示唆された。
- 参考スコア(独自算出の注目度): 7.80803046080817
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: State-of-the-art automated test generation techniques, such as search-based
testing, are usually ignorant about what a developer would create as a test
case. Therefore, they typically create tests that are not human-readable and
may not necessarily detect all types of complex bugs developer-written tests
would do. In this study, we leverage Transformer-based code models to generate
unit tests that can complement search-based test generation. Specifically, we
use CodeT5, i.e., a state-of-the-art large code model, and fine-tune it on the
test generation downstream task. For our analysis, we use the Methods2test
dataset for fine-tuning CodeT5 and Defects4j for project-level domain
adaptation and evaluation. The main contribution of this study is proposing a
fully automated testing framework that leverages developer-written tests and
available code models to generate compilable, human-readable unit tests.
Results show that our approach can generate new test cases that cover lines
that were not covered by developer-written tests. Using domain adaptation, we
can also increase line coverage of the model-generated unit tests by 49.9% and
54% in terms of mean and median (compared to the model without domain
adaptation). We can also use our framework as a complementary solution
alongside common search-based methods to increase the overall coverage with
mean and median of 25.3% and 6.3%. It can also increase the mutation score of
search-based methods by killing extra mutants (up to 64 new mutants were killed
per project in our experiments).
- Abstract(参考訳): 検索ベースのテストのような最先端の自動テスト生成技術は通常、開発者がテストケースとして作るものについて無知である。
そのため、通常は、人間が読めるものではなく、開発者が記述したテストが行うような複雑なバグのタイプをすべて必ずしも検出しないテストを作成する。
本研究では,transformerベースのコードモデルを用いて,検索ベースのテスト生成を補完するユニットテストを生成する。
具体的には、CodeT5、すなわち最先端の大規模コードモデルを使用し、テスト生成の下流タスクで微調整します。
分析では,CodeT5とDefects4jの微調整に Methods2test データセットを使用し,プロジェクトレベルのドメイン適応と評価を行った。
この研究の主な貢献は、開発者が記述したテストと利用可能なコードモデルを利用して、コンパイル可能で人間可読なユニットテストを生成する、完全に自動化されたテストフレームワークを提案することである。
その結果,開発者が記述したテストでカバーされていないラインをカバーする新たなテストケースが得られた。
ドメイン適応を用いることで、平均と中央値(ドメイン適応のないモデルと比較)の観点から、モデル生成ユニットテストのラインカバレッジを49.9%、54%向上させることもできる。
また、我々のフレームワークは一般的な検索ベースの手法と相補的なソリューションとして利用でき、平均と中央値の25.3%と6.3%で全体のカバレッジを向上させることができる。
また、追加の変異体を殺して検索ベースの方法の突然変異率を高めることもできる(我々の実験では、プロジェクトごとに64個の新しい変異体が殺されている)。
関連論文リスト
- 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) - CasModaTest: A Cascaded and Model-agnostic Self-directed Framework for Unit Test Generation [5.450831103980871]
CasModaTestは、カスケードされた、モデルに依存しない、エンドツーエンドのユニットテスト生成フレームワークである。
テストプレフィックスを生成し、オークルをテストし、それらの有効性をチェックするためにコンパイルまたは実行します。
論文 参考訳(メタデータ) (2024-06-22T05:52:39Z) - Constrained C-Test Generation via Mixed-Integer Programming [55.28927994487036]
本研究は,単語の最後の部分のみをギャップに変換する,クローズテスト(ギャップ充足運動)の形式であるC-テストを生成する新しい手法を提案する。
局所最適解を実現するために, ギャップサイズやギャップ配置の変化のみを考慮する従来の研究とは対照的に, 混合整数プログラミング(MIP)アプローチを提案する。
当社のコード、モデル、収集したデータは32の英語のC-Testで、それぞれ20のギャップ(3,200の個別のギャップ応答)をオープンソースライセンスで公開しています。
論文 参考訳(メタデータ) (2024-04-12T21:35:21Z) - Enhancing Large Language Models for Text-to-Testcase Generation [12.864685900686158]
大規模言語モデル(GPT-3.5)に基づくテキスト・ツー・テストケース生成手法を提案する。
提案手法の有効性を,5つの大規模オープンソースプロジェクトを用いて評価した。
論文 参考訳(メタデータ) (2024-02-19T07:50:54Z) - Align Your Prompts: Test-Time Prompting with Distribution Alignment for
Zero-Shot Generalization [64.62570402941387]
テスト領域のギャップを埋めるために、機能分散シフトを最小限にして、テスト時にマルチモーダルプロンプトを適用するために、単一のテストサンプルを使用します。
提案手法は,既存のプロンプト学習技術以上のゼロショットトップ1精度を向上し,ベースラインのMaPLeよりも3.08%向上した。
論文 参考訳(メタデータ) (2023-11-02T17:59:32Z) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z) - An Empirical Evaluation of Using Large Language Models for Automated
Unit Test Generation [3.9762912548964864]
本稿では,自動単体テスト生成における大規模言語モデルの有効性について,大規模な実証評価を行った。
これはJavaScript用のテスト生成ツールで、npmパッケージ内のすべてのAPI関数のユニットテストを自動的に生成します。
TestPilotの生成されたテストの92.8%は、既存のテストと50%以上の類似性を持っていない。
論文 参考訳(メタデータ) (2023-02-13T17:13:41Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - CAFA: Class-Aware Feature Alignment for Test-Time Adaptation [50.26963784271912]
テスト時間適応(TTA)は、テスト時にラベルのないデータにモデルを適応させることによって、この問題に対処することを目的としている。
本稿では,クラス認識特徴アライメント(CAFA, Class-Aware Feature Alignment)と呼ばれる単純な機能アライメント損失を提案する。
論文 参考訳(メタデータ) (2022-06-01T03:02:07Z) - Learning to Generalize across Domains on Single Test Samples [126.9447368941314]
単体テストサンプルでドメインをまたいで一般化することを学ぶ。
変分ベイズ推論問題として単検体への適応を定式化する。
我々のモデルは、ドメインの一般化のための複数のベンチマークにおいて、最先端のメソッドよりも少なくとも同等で、より優れたパフォーマンスを達成します。
論文 参考訳(メタデータ) (2022-02-16T13:21:04Z) - Unit Test Case Generation with Transformers and Focal Context [10.220204860586582]
AthenaTestは、現実世界の焦点メソッドと開発者が記述したテストケースから学習することで、単体テストケースを生成することを目的としている。
我々は,Javaにおける単体テストケースメソッドとそれに対応する焦点メソッドの並列コーパスとして最大規模で公開されているMethods2Testを紹介する。
AthenaTestを5つの欠陥4jプロジェクトで評価し、30回の試行で焦点メソッドの43.7%をカバーする25Kパステストケースを生成した。
論文 参考訳(メタデータ) (2020-09-11T18:57:36Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。