論文の概要: Unit Test Generation using Generative AI : A Comparative Performance
Analysis of Autogeneration Tools
- arxiv url: http://arxiv.org/abs/2312.10622v2
- Date: Tue, 13 Feb 2024 15:18:29 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-14 19:08:56.922415
- 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に匹敵するが,いくつかのケースでは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, though
for some cases its performance is superior to Pynguin. We also find that about
a third of assertions generated by ChatGPT for some categories 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, in our experiments,
prompt engineering improved ChatGPT's performance, achieving a much higher
coverage.
- Abstract(参考訳): ユニットテストの生成は、ソフトウェア開発において重要なタスクであり、プログラマにかなりの時間と労力を要求する。
LLM(Large Language Models)の出現は、単体テストスクリプト生成のための新しい道を導入する。
本研究では,Python プログラムの単体テストスクリプト生成における LLM の有効性と,既存の単体テストジェネレータ (Pynguin) が生成した単体テストジェネレータ (Pynguin) との比較を実験的に検討することを目的とする。
実験では、3種類のコードユニットを検討します。
1)手続き書,
2)関数ベースのモジュラコード,及び
3) クラスベースのコード。
生成されたテストケースは、カバレッジ、正確性、可読性などの基準に基づいて評価される。
以上の結果から,ChatGPTの性能はPynguinに匹敵するが,いくつかのケースではPynguinよりも優れていた。
また、いくつかのカテゴリでChatGPTが生成したアサーションの約3分の1は間違っていた。
また,chatgpt と pynguin の文の重複は最小であり,これらのツールの組み合わせによってユニットテスト生成性能が向上する可能性が示唆された。
最後に,我々の実験では,ChatGPTの性能が向上し,はるかに高いカバレッジを実現した。
関連論文リスト
- Code-Aware Prompting: A study of Coverage Guided Test Generation in
Regression Setting using LLM [34.07127332725332]
テスト生成における大規模言語モデルのコード認識促進戦略であるSymPromptを提案する。
我々のアプローチは、事前訓練されたLLMが、追加の訓練をすることなく、より完全なテストケースを生成することを可能にする。
論文 参考訳(メタデータ) (2024-01-31T18:21:49Z) - Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions [0.05657375260432172]
単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
論文 参考訳(メタデータ) (2023-09-30T20:36:23Z) - Effective Test Generation Using Pre-trained Large Language Models and
Mutation Testing [13.743062498008555]
大規模言語モデル(LLM)が生成するテストケースの有効性を,バグの発見の観点から改善するための MuTAP を導入する。
MuTAPは、プログラム・アンダー・テスト(PUT)の自然言語記述がない場合に有効なテストケースを生成することができる
提案手法は, 最大28%の人書きコードスニペットを検出できることを示す。
論文 参考訳(メタデータ) (2023-08-31T08:48:31Z) - 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) - ChatUniTest: a ChatGPT-based automated unit test generation tool [19.312604624372227]
既存の自動単体テスト生成ツールは、プログラムの理解に欠けており、読みやすさの低い単体テストと限定的なアサーションをもたらす。
ChatUniTestは、プロジェクトを解析し、必須情報を抽出し、適応的な焦点コンテキストを作成することでテストを生成する。
その後、テストを検証するとともに、構文的および単純なコンパイルエラーを修正するためにルールベースの修正を採用し、続いてChatGPTベースの修正によって、困難なエラーに対処する。
論文 参考訳(メタデータ) (2023-05-08T15:12:07Z) - No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test
Generation [11.561177856354114]
単体テストは、機能的に分離されたプログラムユニットのバグを検出するのに不可欠である。
最近の研究は、ユニットテスト生成における大きな言語モデル(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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。