論文の概要: Unit Test Case Generation with Transformers and Focal Context
- arxiv url: http://arxiv.org/abs/2009.05617v2
- Date: Thu, 20 May 2021 23:11:01 GMT
- ステータス: 処理完了
- システム内更新日: 2022-10-19 21:06:18.005634
- Title: Unit Test Case Generation with Transformers and Focal Context
- Title(参考訳): 変圧器と焦点コンテキストを用いたユニットテストケース生成
- Authors: Michele Tufano, Dawn Drain, Alexey Svyatkovskiy, Shao Kun Deng, Neel
Sundaresan
- Abstract要約: AthenaTestは、現実世界の焦点メソッドと開発者が記述したテストケースから学習することで、単体テストケースを生成することを目的としている。
我々は,Javaにおける単体テストケースメソッドとそれに対応する焦点メソッドの並列コーパスとして最大規模で公開されているMethods2Testを紹介する。
AthenaTestを5つの欠陥4jプロジェクトで評価し、30回の試行で焦点メソッドの43.7%をカバーする25Kパステストケースを生成した。
- 参考スコア(独自算出の注目度): 10.220204860586582
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Automated unit test case generation tools facilitate test-driven development
and support developers by suggesting tests intended to identify flaws in their
code. Existing approaches are usually guided by the test coverage criteria,
generating synthetic test cases that are often difficult for developers to read
or understand. In this paper we propose AthenaTest, an approach that aims to
generate unit test cases by learning from real-world focal methods and
developer-written testcases. We formulate unit test case generation as a
sequence-to-sequence learning task, adopting a two-step training procedure
consisting of denoising pretraining on a large unsupervised Java corpus, and
supervised finetuning for a downstream translation task of generating unit
tests. We investigate the impact of natural language and source code
pretraining, as well as the focal context information surrounding the focal
method. Both techniques provide improvements in terms of validation loss, with
pretraining yielding 25% relative improvement and focal context providing
additional 11.1% improvement. We also introduce Methods2Test, the largest
publicly available supervised parallel corpus of unit test case methods and
corresponding focal methods in Java, which comprises 780K test cases mined from
91K open-source repositories from GitHub. We evaluate AthenaTest on five
defects4j projects, generating 25K passing test cases covering 43.7% of the
focal methods with only 30 attempts. We execute the test cases, collect test
coverage information, and compare them with test cases generated by EvoSuite
and GPT-3, finding that our approach outperforms GPT-3 and has comparable
coverage w.r.t. EvoSuite. Finally, we survey professional developers on their
preference in terms of readability, understandability, and testing
effectiveness of the generated tests, showing overwhelmingly preference towards
AthenaTest.
- Abstract(参考訳): 自動ユニットテストケース生成ツールは、コード内の欠陥を識別するテストを提案することによって、テスト駆動開発と開発者のサポートを促進する。
既存のアプローチは通常、テストカバレッジ基準によって導かれ、開発者が読み書きや理解するのが難しい合成テストケースを生成する。
本稿では,実世界のfocalメソッドと開発者によるテストケースから学習し,ユニットテストを生成するための手法であるathenatestを提案する。
単位テストケース生成をシーケンスからシーケンスへの学習タスクとして定式化し、大きな教師なしのjavaコーパスで事前トレーニングを行う2段階のトレーニング手順を採用し、ユニットテストを生成する下流翻訳タスクの微調整を監督する。
自然言語とソースコードの事前学習の影響と,focal法を取り巻く焦点コンテキスト情報について検討した。
どちらの手法もバリデーション損失の点でも改善され、プリトレーニングは25%の相対的な改善と焦点コンテキストは11.1%の改善をもたらす。
また、githubから91kのオープンソースリポジトリから抽出された780kのテストケースを含む、javaにおけるユニットテストケースメソッドと対応するfocalメソッドの、教師ありで最大の並列コーパスであるmethods2testを導入しました。
AthenaTestを5つの欠陥4jプロジェクトで評価し、30回の試行で焦点メソッドの43.7%をカバーする25Kパステストケースを生成した。
我々はテストケースを実行し、テストカバレッジ情報を収集し、それらをEvoSuiteとGPT-3で生成されたテストケースと比較し、我々のアプローチがGPT-3より優れており、EvoSuiteに匹敵するカバレッジを持っていることを発見した。
最後に、プロの開発者を対象に、生成したテストの可読性、理解性、テストの有効性について調査を行い、athenatestに対する圧倒的な好みを示しました。
関連論文リスト
- 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) - Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests [4.574205608859157]
我々は,検索ベースのソフトウェアテストと大規模言語モデルを組み合わせたUTGenを導入し,自動生成テストケースの理解性を向上する。
UTGenテストケースで課題に取り組む参加者は、最大33%のバグを修正し、ベースラインテストケースと比較して最大20%の時間を使用できます。
論文 参考訳(メタデータ) (2024-08-21T15:35:34Z) - Improving LLM-based Unit test generation via Template-based Repair [8.22619177301814]
単体テストは個々のプログラムユニットのバグを検出するのに不可欠だが、時間と労力を消費する。
大規模言語モデル(LLM)は、顕著な推論と生成能力を示している。
本稿では,新しい単体テスト生成法であるTestARTを提案する。
論文 参考訳(メタデータ) (2024-08-06T10:52:41Z) - 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) - 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) - Towards Automatic Generation of Amplified Regression Test Oracles [44.45138073080198]
回帰テストオラクルを増幅するためのテストオラクル導出手法を提案する。
このアプローチはテスト実行中にオブジェクトの状態を監視し、以前のバージョンと比較して、SUTの意図した振る舞いに関連する変更を検出する。
論文 参考訳(メタデータ) (2023-07-28T12:38:44Z) - Learning Deep Semantics for Test Completion [46.842174440120196]
テスト完了の新たなタスクを形式化し、テスト対象の文のコンテキストとコードに基づいて、テストメソッドで次のステートメントを自動的に完了する。
テスト補完にコードセマンティクスを用いたディープラーニングモデルであるTeCoを開発した。
論文 参考訳(メタデータ) (2023-02-20T18:53:56Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Segment-level Metric Learning for Few-shot Bioacoustic Event Detection [56.59107110017436]
本稿では,モデル最適化時の肯定的事象と否定的事象の両方を利用するセグメントレベルの数ショット学習フレームワークを提案する。
本システムでは,DCASE2022チャレンジタスク5(DCASE2022-T5)のF値62.73の検証を行い,ベースラインプロトタイプネットワーク34.02の性能を大きなマージンで向上させる。
論文 参考訳(メタデータ) (2022-07-15T22:41:30Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。