論文の概要: 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を上回り、モックオブジェクトとリフレクションを利用してアサーションを効果的に生成し、テスト目的を達成することを示しています。
関連論文リスト
- 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) - Unit Test Generation using Generative AI : A Comparative Performance
Analysis of Autogeneration Tools [2.0686733932673604]
本研究では,Pythonプログラムの単体テストスクリプト生成におけるLarge Language Models(LLMs)の有効性を実験的に検討することを目的とする。
実験では,1)手続き型スクリプト,2)関数ベースのモジュール型コード,3)クラスベースのコードという3つのタイプのコードユニットを検討する。
以上の結果から,ChatGPTの性能はPynguinに匹敵するが,いくつかのケースではPynguinよりも優れていた。
論文 参考訳(メタデータ) (2023-12-17T06:38:11Z) - Automatic Generation of Test Cases based on Bug Reports: a Feasibility
Study with Large Language Models [4.318319522015101]
既存のアプローチは、単純なテスト(例えば単体テスト)や正確な仕様を必要とするテストケースを生成する。
ほとんどのテスト手順は、テストスイートを形成するために人間が書いたテストケースに依存しています。
大規模言語モデル(LLM)を活用し,バグレポートを入力として利用することにより,この生成の実現可能性を検討する。
論文 参考訳(メタデータ) (2023-10-10T05:30:12Z) - Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions [0.05657375260432172]
単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
論文 参考訳(メタデータ) (2023-09-30T20:36:23Z) - Towards Automatic Generation of Amplified Regression Test Oracles [44.45138073080198]
回帰テストオラクルを増幅するためのテストオラクル導出手法を提案する。
このアプローチはテスト実行中にオブジェクトの状態を監視し、以前のバージョンと比較して、SUTの意図した振る舞いに関連する変更を検出する。
論文 参考訳(メタデータ) (2023-07-28T12:38:44Z) - FacTool: Factuality Detection in Generative AI -- A Tool Augmented
Framework for Multi-Task and Multi-Domain Scenarios [87.12753459582116]
より広い範囲のタスクは、生成モデルによって処理されると、事実エラーを含むリスクが増大する。
大規模言語モデルにより生成されたテキストの事実誤りを検出するためのタスクおよびドメインに依存しないフレームワークであるFacToolを提案する。
論文 参考訳(メタデータ) (2023-07-25T14:20:51Z) - No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test
Generation [11.561177856354114]
単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(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) - Listen, Adapt, Better WER: Source-free Single-utterance Test-time
Adaptation for Automatic Speech Recognition [65.84978547406753]
Test-time Adaptationは、ソースドメインでトレーニングされたモデルに適応して、テストサンプルの予測を改善することを目的としている。
単一発話テスト時間適応 (SUTA) は音声領域における最初のTTA研究である。
論文 参考訳(メタデータ) (2022-03-27T06:38:39Z) - Automated Support for Unit Test Generation: A Tutorial Book Chapter [21.716667622896193]
単体テストは、システムの他の部分と独立してテストできる最小のコードセグメントをテストする段階である。
単体テストは通常実行可能なコードとして書かれ、Pythonのpytestのような単体テストフレームワークが提供する形式で書かれる。
本章では,検索に基づく単体テスト生成の概念を紹介する。
論文 参考訳(メタデータ) (2021-10-26T11:13:40Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。