論文の概要: No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation
- arxiv url: http://arxiv.org/abs/2305.04207v3
- Date: Sun, 19 May 2024 08:51:14 GMT
- ステータス: 処理完了
- システム内更新日: 2024-05-22 01:00:22.549632
- Title: No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation
- Title(参考訳): 手動テストは不要か? 単体テスト生成のためのChatGPTの評価と改善
- Authors: Zhiqiang Yuan, Yiling Lou, Mingwei Liu, Shiji Ding, Kaixin Wang, Yixuan Chen, Xin Peng,
- Abstract要約: 単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(LLM)の可能性を示している。
ChatGPTがユニット・テスト・ジェネレーションでどの程度有効かは不明だ。
- 参考スコア(独自算出の注目度): 11.009117714870527
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Unit testing is essential in detecting bugs in functionally-discrete program units. Manually writing high-quality unit tests is time-consuming and laborious. Although traditional techniques can generate tests with reasonable coverage, they exhibit low readability and cannot be directly adopted by developers. Recent work has shown the large potential of large language models (LLMs) in unit test generation, which can generate more human-like and meaningful test code. ChatGPT, the latest LLM incorporating instruction tuning and reinforcement learning, has performed well in various domains. However, It remains unclear how effective ChatGPT is in unit test generation. In this work, we perform the first empirical study to evaluate ChatGPT's capability of unit test generation. Specifically, we conduct a quantitative analysis and a user study to systematically investigate the quality of its generated tests regarding the correctness, sufficiency, readability, and usability. The tests generated by ChatGPT still suffer from correctness issues, including diverse compilation errors and execution failures. Still, the passing tests generated by ChatGPT resemble manually-written tests by achieving comparable coverage, readability, and even sometimes developers' preference. Our findings indicate that generating unit tests with ChatGPT could be very promising if the correctness of its generated tests could be further improved. Inspired by our findings above, we propose ChatTESTER, a novel ChatGPT-based unit test generation approach, which leverages ChatGPT itself to improve the quality of its generated tests. ChatTESTER incorporates an initial test generator and an iterative test refiner. Our evaluation demonstrates the effectiveness of ChatTESTER by generating 34.3% more compilable tests and 18.7% more tests with correct assertions than the default ChatGPT.
- Abstract(参考訳): 単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
手動で高品質な単体テストを書くのは時間と労力がかかります。
従来のテクニックは適切なカバレッジでテストを生成することができるが、読みやすさが低く、開発者が直接採用することはできない。
最近の研究は、ユニットテスト生成における大規模言語モデル(LLM)の大きな可能性を示しており、より人間らしく有意義なテストコードを生成することができる。
指導指導と強化学習を取り入れた最新のLLMであるChatGPTは、様々な領域でよく機能している。
しかし、ChatGPTがユニット・テスト・ジェネレーションにおいてどの程度有効であるかはいまだ不明である。
本研究では,ChatGPTの単体テスト生成能力を評価するための実験的検討を行った。
具体的には, 精度, 有効性, 可読性, ユーザビリティについて, 定量的分析とユーザスタディを行い, 生成したテストの品質を体系的に調査する。
ChatGPTが生成したテストは、さまざまなコンパイルエラーや実行障害など、依然として正確性の問題に悩まされている。
それでもChatGPTが生成したパステストは、同等のカバレッジ、可読性、時には開発者の好みを達成することで、手書きのテストに似ている。
以上の結果から,ChatGPTを用いた単体テストの精度向上が期待できる可能性が示唆された。
以上の知見にインスパイアされたChatTESTERは、ChatGPT自体を活用して生成されたテストの品質を向上させる、新しいChatGPTベースの単体テスト生成手法である。
ChatTESTERには初期テストジェネレータと反復テスト精錬器が組み込まれている。
評価では、34.3%以上のコンパイル可能なテストと18.7%の正確なアサーションを持つテストを生成することで、ChatTESTERの有効性を示す。
関連論文リスト
- GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech Detection? [50.53312866647302]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - ChatGPT and Human Synergy in Black-Box Testing: A Comparative Analysis [0.0]
ChatGPTは、一般的にヒトの参加者が作り出したものと一致するか、わずかに上回るテストケースを生成することができる。
ChatGPTが人間と協力すると、それぞれが単独で達成できるものよりも、はるかに多くのテスト視点をカバーできる。
論文 参考訳(メタデータ) (2024-01-25T03:42:17Z) - 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) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - ChatUniTest: A Framework for LLM-Based Test Generation [17.296369651892228]
本稿では,自動ユニットテスト生成フレームワークChatUniTestを提案する。
ChatUniTestには、アダプティブな焦点コンテキスト機構が組み込まれている。
評価の結果,ChatUniTest は TestSpark と EvoSuite よりも高い性能を示した。
論文 参考訳(メタデータ) (2023-05-08T15:12:07Z) - ChatLog: Carefully Evaluating the Evolution of ChatGPT Across Time [54.18651663847874]
ChatGPTは大きな成功をおさめ、インフラ的な地位を得たと考えられる。
既存のベンチマークでは,(1)周期的評価の無視,(2)きめ細かい特徴の欠如という2つの課題に直面する。
2023年3月から現在まで,21のNLPベンチマークに対して,さまざまな長文ChatGPT応答を大規模に記録した常時更新データセットであるChatLogを構築している。
論文 参考訳(メタデータ) (2023-04-27T11:33:48Z) - To ChatGPT, or not to ChatGPT: That is the question! [78.407861566006]
本研究は,ChatGPT検出における最新の手法を包括的かつ現代的に評価するものである。
我々は、ChatGPTと人間からのプロンプトからなるベンチマークデータセットをキュレートし、医療、オープンQ&A、ファイナンスドメインからの多様な質問を含む。
評価の結果,既存の手法ではChatGPT生成内容を効果的に検出できないことがわかった。
論文 参考訳(メタデータ) (2023-04-04T03:04:28Z) - Can ChatGPT Understand Too? A Comparative Study on ChatGPT and
Fine-tuned BERT [103.57103957631067]
チャットGPTは、人間の質問に対する流動的で高品質な応答を生成できるため、大きな注目を集めている。
そこで我々は,ChatGPTの理解能力を,最も人気のあるGLUEベンチマークで評価し,より詳細な4種類のBERTスタイルのモデルと比較した。
2)ChatGPTは,感情分析や質問応答タスクにおいて,BERTと同等のパフォーマンスを達成している。
論文 参考訳(メタデータ) (2023-02-19T12:29:33Z) - BiasTestGPT: Using ChatGPT for Social Bias Testing of Language Models [73.29106813131818]
テスト文は限られた手動テンプレートから生成されるか、高価なクラウドソーシングを必要とするため、現時点ではバイアステストは煩雑である。
ソーシャルグループと属性の任意のユーザ指定の組み合わせを考慮し、テスト文の制御可能な生成にChatGPTを使うことを提案する。
本稿では,HuggingFace上にホストされているオープンソースの総合的バイアステストフレームワーク(BiasTestGPT)について紹介する。
論文 参考訳(メタデータ) (2023-02-14T22:07:57Z) - Is ChatGPT a General-Purpose Natural Language Processing Task Solver? [113.22611481694825]
大規模言語モデル(LLM)は、さまざまな自然言語処理(NLP)タスクをゼロショットで実行できることを実証している。
近年、ChatGPTのデビューは自然言語処理(NLP)コミュニティから大きな注目を集めている。
ChatGPTが多くのNLPタスクをゼロショットで実行できるジェネラリストモデルとして機能するかどうかはまだ分かっていない。
論文 参考訳(メタデータ) (2023-02-08T09:44:51Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。