論文の概要: TDD Without Tears: Towards Test Case Generation from Requirements
through Deep Reinforcement Learning
- arxiv url: http://arxiv.org/abs/2401.07576v1
- Date: Mon, 15 Jan 2024 10:21:58 GMT
- ステータス: 処理完了
- システム内更新日: 2024-01-17 17:36:47.057325
- Title: TDD Without Tears: Towards Test Case Generation from Requirements
through Deep Reinforcement Learning
- Title(参考訳): 涙のないTDD: 要件から深い強化学習を通じてテストケース生成を目指す
- Authors: Wannita Takerngsaksiri, Rujikorn Charakorn, Chakkrit Tantithamthavorn,
Yuan-Fang Li
- Abstract要約: テスト駆動開発(TDD)は、実際のコードを書く前に要件に基づいてテストケースを書くことを義務付ける。
テストケースを書くことはTDDの中心ですが、時間がかかり、コストがかかり、開発者が悩まされることも少なくありません。
PyTesterは、テキストからテストケースを生成するアプローチで、正しい、実行可能な、完全な、効果的なテストケースを自動的に生成します。
- 参考スコア(独自算出の注目度): 22.331330777536046
- License: http://creativecommons.org/licenses/by-sa/4.0/
- Abstract: Test-driven development (TDD) is a widely-employed software development
practice that mandates writing test cases based on requirements before writing
the actual code. While writing test cases is the centerpiece of TDD, it is
time-consuming, expensive, and often shunned by developers. To address these
issues associated with TDD, automated test case generation approaches have
recently been investigated. Such approaches take source code as input, but not
the requirements. Therefore, existing work does not fully support true TDD, as
actual code is required to generate test cases. In addition, current deep
learning-based test case generation approaches are trained with one learning
objective, i.e., to generate test cases that are exactly matched with the
ground-truth test cases. However, such approaches may limit the model's ability
to generate different yet correct test cases. In this paper, we introduce
PyTester, a Text-to-Testcase generation approach that can automatically
generate syntactically correct, executable, complete, and effective test cases
while being aligned with a given natural language requirement. We evaluate
PyTester on the public APPS benchmark dataset, and the results show that our
Deep RL approach enables PyTester, a small language model, to outperform much
larger language models like GPT3.5, StarCoder, and InCoder. Our findings
suggest that future research could consider improving small over large LMs for
better resource efficiency by integrating the SE domain knowledge into the
design of reinforcement learning architecture.
- Abstract(参考訳): テスト駆動開発(tdd; test-driven development, テスト駆動開発)は、実際のコードを書く前に要件に基づいたテストケースを書くことを義務付ける、幅広いソフトウェア開発プラクティスである。
テストケースを書くことはtddの中心であるが、時間がかかり、費用がかかり、開発者が避けることが多い。
TDDに関連するこれらの問題に対処するため、テストケースの自動生成アプローチが最近検討されている。
このようなアプローチはソースコードを入力として使用するが、要件ではない。
したがって、テストケースを生成するために実際のコードが必要であるため、既存の作業は真のTDDを完全にサポートしていません。
さらに,現状の深層学習に基づくテストケース生成手法は,1つの学習目標,すなわち,地上テストケースと正確に一致するテストケースを生成するために訓練されている。
しかし、そのようなアプローチは、異なるが正しいテストケースを生成するモデルの能力を制限する可能性がある。
本稿では,テキストからテストケースを生成する手法であるpytesterについて紹介する。pytesterは構文的に正しい,実行可能,完全,効果的なテストケースを自動的に生成する。
我々は、パブリックAPPSベンチマークデータセットでPyTesterを評価し、その結果、私たちのDeep RLアプローチによって、小さな言語モデルであるPyTesterが、GPT3.5、StarCoder、InCoderといったはるかに大きな言語モデルより優れていることを示す。
本研究は,SEドメイン知識を強化学習アーキテクチャの設計に組み込むことにより,資源効率を向上させるため,大規模LMの小型化を検討できることを示す。
関連論文リスト
- Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - KAT: Dependency-aware Automated API Testing with Large Language Models [1.7264233311359707]
KAT(Katalon API Testing)は、APIを検証するためのテストケースを自律的に生成する、AI駆動の新たなアプローチである。
実世界の12のサービスを用いたKATの評価は、検証カバレッジを改善し、文書化されていないステータスコードを検出し、これらのサービスの偽陽性を低減できることを示している。
論文 参考訳(メタデータ) (2024-07-14T14:48:18Z) - Test-Driven Development for Code Generation [0.850206009406913]
大きな言語モデル(LLM)は、問題ステートメントから直接コードスニペットを生成する重要な機能を示している。
本稿では,テスト駆動開発(TDD)をAI支援コード生成プロセスに組み込む方法について検討する。
論文 参考訳(メタデータ) (2024-02-21T04:10:12Z) - Generative Judge for Evaluating Alignment [84.09815387884753]
本稿では,これらの課題に対処するために,13Bパラメータを持つ生成判断器Auto-Jを提案する。
我々のモデルは,大規模な実環境シナリオ下でのユーザクエリとLLM生成応答に基づいて訓練されている。
実験的に、Auto-Jはオープンソースモデルとクローズドソースモデルの両方を含む、強力なライバルのシリーズを上回っている。
論文 参考訳(メタデータ) (2023-10-09T07:27:15Z) - CAT-LM: Training Language Models on Aligned Code And Tests [19.526181671936243]
テストはソフトウェア開発プロセスにおいて不可欠な部分だ。しかし、テストを書くのに時間がかかり、しばしば無視される。
我々は270億のパラメータを持つGPTスタイルの言語モデルであるAligned Code And Tests Language Model (CAT-LM)を提案する。
論文 参考訳(メタデータ) (2023-10-02T19:52:22Z) - AdaNPC: Exploring Non-Parametric Classifier for Test-Time Adaptation [64.9230895853942]
ドメインの一般化は、ターゲットのドメイン情報を活用することなく、任意に困難にすることができる。
この問題に対処するためにテスト時適応(TTA)手法が提案されている。
本研究では,テスト時間適応(AdaNPC)を行うためにNon-Parametricを採用する。
論文 参考訳(メタデータ) (2023-04-25T04:23:13Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Learning Deep Semantics for Test Completion [46.842174440120196]
テスト完了の新たなタスクを形式化し、テスト対象の文のコンテキストとコードに基づいて、テストメソッドで次のステートメントを自動的に完了する。
テスト補完にコードセマンティクスを用いたディープラーニングモデルであるTeCoを開発した。
論文 参考訳(メタデータ) (2023-02-20T18:53:56Z) - TeST: Test-time Self-Training under Distribution Shift [99.68465267994783]
Test-Time Self-Training (TeST)は、あるソースデータとテスト時の新しいデータ分散に基づいてトレーニングされたモデルを入力する技術である。
また,TeSTを用いたモデルでは,ベースラインテスト時間適応アルゴリズムよりも大幅に改善されていることがわかった。
論文 参考訳(メタデータ) (2022-09-23T07:47:33Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Generating Accurate Assert Statements for Unit Test Cases using
Pretrained Transformers [10.846226514357866]
単体テストは、ソフトウェアテストピラミッドの基礎となる基礎である。
正確で有用なアサーション文を生成することによって、開発者が単体テストケースを書くのを支援するアプローチを提案する。
論文 参考訳(メタデータ) (2020-09-11T19:35:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。