論文の概要: Unit Test Generation using Generative AI : A Comparative Performance
Analysis of Autogeneration Tools
- arxiv url: http://arxiv.org/abs/2312.10622v1
- Date: Sun, 17 Dec 2023 06:38:11 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-19 15:33:54.919415
- Title: Unit Test Generation using Generative AI : A Comparative Performance
Analysis of Autogeneration Tools
- Title(参考訳): 生成AIを用いた単体テスト生成 : 自動生成ツールの比較性能解析
- Authors: Shreya Bhatia, Tarushi Gandhi, Dhruv Kumar, Pankaj Jalote
- Abstract要約: 本研究では,Pythonプログラムの単体テストスクリプト生成におけるLarge Language Models(LLMs)の有効性を実験的に検討することを目的とする。
実験では,1)手続き型スクリプト,2)関数ベースのモジュール型コード,3)クラスベースのコードという3つのタイプのコードユニットを検討する。
以上の結果から,ChatGPTの性能はカバレッジ,正確性,可読性においてPynguinに匹敵することがわかった。
- 参考スコア(独自算出の注目度): 2.0686733932673604
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Generating unit tests is a crucial task in software development, demanding
substantial time and effort from programmers. The advent of Large Language
Models (LLMs) introduces a novel avenue for unit test script generation. This
research aims to experimentally investigate the effectiveness of LLMs,
specifically exemplified by ChatGPT, for generating unit test scripts for
Python programs, and how the generated test cases compare with those generated
by an existing unit test generator (Pynguin). For experiments, we consider
three types of code units: 1) Procedural scripts, 2) Function-based modular
code, and 3) Class-based code. The generated test cases are evaluated based on
criteria such as coverage, correctness, and readability. Our results show that
ChatGPT's performance is comparable with Pynguin in terms of coverage. At the
same time, ChatGPT's ability to generate tests is superior to Pynguin, as the
latter is not able to generate test cases for Category 1. We also find that
about 39% and 28% of assertions generated by ChatGPT for Category 2 and 3,
respectively, were incorrect. Our results also show that there is minimal
overlap in missed statements between ChatGPT and Pynguin, thus, suggesting that
a combination of both tools may enhance unit test generation performance.
Finally, prompt engineering improved ChatGPT's performance, achieving an
average 28% coverage improvement in Category 2 and 15% improvement in Category
3 after about 4 iterations.
- Abstract(参考訳): ユニットテストの生成は、ソフトウェア開発において重要なタスクであり、プログラマにかなりの時間と労力を要求する。
LLM(Large Language Models)の出現は、単体テストスクリプト生成のための新しい道を導入する。
本研究では,Python プログラムの単体テストスクリプト生成における LLM の有効性と,既存の単体テストジェネレータ (Pynguin) が生成した単体テストジェネレータ (Pynguin) との比較を実験的に検討することを目的とする。
実験では、3種類のコードユニットを検討します。
1)手続き書,
2)関数ベースのモジュラコード,及び
3) クラスベースのコード。
生成されたテストケースは、カバレッジ、正確性、可読性などの基準に基づいて評価される。
以上の結果から,ChatGPTの性能はPynguinに匹敵することがわかった。
同時に、chatgptがテストを生成する能力は、カテゴリ1のテストケースを生成することができないため、pynguinよりも優れている。
また,カテゴリー2とカテゴリー3に対してchatgptが生成したアサーションの約39%と28%が誤りであることがわかった。
また,chatgpt と pynguin の文の重複は最小であり,これらのツールの組み合わせによってユニットテスト生成性能が向上する可能性が示唆された。
最後に、プロンプトエンジニアリングはchatgptのパフォーマンスを改善し、カテゴリ2で平均28%、カテゴリー3で約4回のイテレーションで15%改善した。
関連論文リスト
- Multi-language Unit Test Generation using LLMs [6.259245181881262]
静的解析を組み込んだジェネリックパイプラインを記述し,コンパイル可能な高カバレッジテストケースの生成においてLCMをガイドする。
パイプラインをさまざまなプログラミング言語、特にJavaとPython、そして環境モックを必要とする複雑なソフトウェアに適用する方法を示します。
以上の結果から,静的解析によって導かれるLCMベースのテスト生成は,最新のテスト生成技術と競合し,さらに性能も向上することが示された。
論文 参考訳(メタデータ) (2024-09-04T21:46:18Z) - Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests [4.574205608859157]
我々は,検索ベースのソフトウェアテストと大規模言語モデルを組み合わせたUTGenを導入し,自動生成テストケースの理解性を向上する。
UTGenテストケースで課題に取り組む参加者は、最大33%のバグを修正し、ベースラインテストケースと比較して最大20%の時間を使用できます。
論文 参考訳(メタデータ) (2024-08-21T15:35:34Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions [0.05657375260432172]
単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
論文 参考訳(メタデータ) (2023-09-30T20:36:23Z) - 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.009117714870527]
単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(LLM)の可能性を示している。
ChatGPTがユニット・テスト・ジェネレーションでどの程度有効かは不明だ。
論文 参考訳(メタデータ) (2023-05-07T07:17:08Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - BiasTestGPT: Using ChatGPT for Social Bias Testing of Language Models [73.29106813131818]
テスト文は限られた手動テンプレートから生成されるか、高価なクラウドソーシングを必要とするため、現時点ではバイアステストは煩雑である。
ソーシャルグループと属性の任意のユーザ指定の組み合わせを考慮し、テスト文の制御可能な生成にChatGPTを使うことを提案する。
本稿では,HuggingFace上にホストされているオープンソースの総合的バイアステストフレームワーク(BiasTestGPT)について紹介する。
論文 参考訳(メタデータ) (2023-02-14T22:07:57Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Fault-Aware Neural Code Rankers [64.41888054066861]
サンプルプログラムの正しさを予測できる故障認識型ニューラルネットワークローダを提案する。
我々のフォールト・アウェア・ローダは、様々なコード生成モデルのpass@1精度を大幅に向上させることができる。
論文 参考訳(メタデータ) (2022-06-04T22:01:05Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。