論文の概要: ChatUniTest: a ChatGPT-based automated unit test generation tool
- arxiv url: http://arxiv.org/abs/2305.04764v1
- Date: Mon, 8 May 2023 15:12:07 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-24 11:54:13.394234
- Title: ChatUniTest: a ChatGPT-based automated unit test generation tool
- Title(参考訳): ChatUniTest: ChatGPTベースの自動ユニットテスト生成ツール
- Authors: Zhuokui Xie, Yinghao Chen, Chen Zhi, Shuiguang Deng, Jianwei Yin
- Abstract要約: 既存の自動単体テスト生成ツールは、プログラムの理解に欠けており、読みやすさの低い単体テストと限定的なアサーションをもたらす。
ChatUniTestは、プロジェクトを解析し、必須情報を抽出し、適応的な焦点コンテキストを作成することでテストを生成する。
その後、テストを検証するとともに、構文的および単純なコンパイルエラーを修正するためにルールベースの修正を採用し、続いてChatGPTベースの修正によって、困難なエラーに対処する。
- 参考スコア(独自算出の注目度): 19.312604624372227
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Unit testing is a crucial, yet often tedious and time-consuming task. To
relieve developers from this burden, automated unit test generation techniques
are developed. Existing automated unit test generation tools, such as
program-analysis-based tools like EvoSuite and Randoop, lack program
comprehension, resulting in unit tests with poor readability and limited
assertions. Language-model-based tools, such as AthenaTest and A3Test, have
limitations in the generation of correct unit tests. In this paper, we
introduce ChatUniTest, a ChatGPT-based automated unit test generation tool
developed under the Generation-Validation-Repair framework. ChatUniTest
generates tests by parsing the project, extracting essential information, and
creating an adaptive focal context that includes the focal method and its
dependencies within the pre-defined maximum prompt token limit. The context is
incorporated into a prompt and subsequently submitted to ChatGPT. Once
ChatGPT's response is received, ChatUniTest proceeds to extract the raw test
from the response. It then validates the test and employs rule-based repair to
fix syntactic and simple compile errors, followed by ChatGPT-based repair to
address challenging errors. Our rigorous evaluation demonstrates that
ChatUniTest outperforms EvoSuite in branch and line coverage, surpasses
AthenaTest and A3Test in focal method coverage, and effectively generates
assertions while utilizing mock objects and reflection to achieve test
objectives.
- Abstract(参考訳): 単体テストは重要で、しばしば退屈で時間がかかるタスクです。
開発者の負担を軽減するため、自動ユニットテスト生成技術が開発されている。
evosuiteやrandopといったプログラム分析ベースのツールのような既存の自動ユニットテスト生成ツールは、プログラム理解が欠如しており、可読性が低く、アサーションが限られている。
AthenaTestやA3Testのような言語モデルベースのツールは、正しいユニットテストの生成に制限がある。
本稿では,チャットgptベースの自動ユニットテスト生成ツールであるchatunitestについて紹介する。
chatunitestはプロジェクトを解析し、必須情報を抽出し、事前定義された最大プロンプトトークン制限内のfocalメソッドとその依存関係を含む適応焦点コンテキストを作成することでテストを生成する。
コンテキストはプロンプトに組み込まれ、その後ChatGPTに送信される。
ChatGPTのレスポンスが受信されると、ChatUniTestはレスポンスから生のテストを抽出する。
その後、テストを検証するとともに、構文的および単純なコンパイルエラーを修正するためにルールベースの修正を採用し、続いてChatGPTベースの修正によって、困難なエラーに対処する。
厳密な評価は、ChatUniTestが分岐とラインカバレッジでEvoSuiteを上回り、フォーカスメソッドカバレッジでAthenaTestとA3Testを上回り、モックオブジェクトとリフレクションを利用してアサーションを効果的に生成し、テスト目的を達成することを示しています。
関連論文リスト
- Context-Aware Testing: A New Paradigm for Model Testing with Large Language Models [49.06068319380296]
我々は,コンテキストを帰納バイアスとして用いて意味のあるモデル障害を探索するコンテキスト認識テスト(CAT)を導入する。
最初のCATシステムSMART Testingをインスタンス化し、大きな言語モデルを用いて、関連性があり、起こりうる失敗を仮説化します。
論文 参考訳(メタデータ) (2024-10-31T15:06:16Z) - Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - A System for Automated Unit Test Generation Using Large Language Models and Assessment of Generated Test Suites [1.4563527353943984]
大規模言語モデル(LLM)はソフトウェア開発の様々な側面に適用されている。
Javaプロジェクトのテストスイートを生成する自動化システムであるAgoneTestを紹介します。
論文 参考訳(メタデータ) (2024-08-14T23:02:16Z) - Harnessing the Power of LLMs: Automating Unit Test Generation for High-Performance Computing [7.3166218350585135]
ユニットテストは、品質を保証するために、ソフトウェア工学において不可欠です。
並列処理や高性能計算ソフトウェア、特に科学応用では広く使われていない。
本稿では,このようなソフトウェアを対象としたユニットテストの自動生成手法を提案する。
論文 参考訳(メタデータ) (2024-07-06T22:45:55Z) - Test Oracle Automation in the era of LLMs [52.69509240442899]
大規模言語モデル(LLM)は、多様なソフトウェアテストタスクに取り組むのに顕著な能力を示した。
本研究の目的は, 各種のオラクル生成時に生じる課題とともに, LLMs によるオラクルの自動化の可能性について検討することである。
論文 参考訳(メタデータ) (2024-05-21T13:19:10Z) - 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) - No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation [11.009117714870527]
単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(LLM)の可能性を示している。
ChatGPTがユニット・テスト・ジェネレーションでどの程度有効かは不明だ。
論文 参考訳(メタデータ) (2023-05-07T07:17:08Z) - BiasTestGPT: Using ChatGPT for Social Bias Testing of Language Models [73.29106813131818]
テスト文は限られた手動テンプレートから生成されるか、高価なクラウドソーシングを必要とするため、現時点ではバイアステストは煩雑である。
ソーシャルグループと属性の任意のユーザ指定の組み合わせを考慮し、テスト文の制御可能な生成にChatGPTを使うことを提案する。
本稿では,HuggingFace上にホストされているオープンソースの総合的バイアステストフレームワーク(BiasTestGPT)について紹介する。
論文 参考訳(メタデータ) (2023-02-14T22:07:57Z) - UniTE: Unified Translation Evaluation [63.58868113074476]
UniTEは3つの評価タスクをすべて処理する能力に携わる最初の統合フレームワークである。
We testify our framework on WMT 2019 Metrics and WMT 2020 Quality Estimation benchmarks。
論文 参考訳(メタデータ) (2022-04-28T08:35:26Z) - Automated Support for Unit Test Generation: A Tutorial Book Chapter [21.716667622896193]
単体テストは、システムの他の部分と独立してテストできる最小のコードセグメントをテストする段階である。
単体テストは通常実行可能なコードとして書かれ、Pythonのpytestのような単体テストフレームワークが提供する形式で書かれる。
本章では,検索に基づく単体テスト生成の概念を紹介する。
論文 参考訳(メタデータ) (2021-10-26T11:13:40Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。