論文の概要: Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions
- arxiv url: http://arxiv.org/abs/2310.00483v1
- Date: Sat, 30 Sep 2023 20:36:23 GMT
- ステータス: 処理完了
- システム内更新日: 2023-10-05 03:58:06.249975
- Title: Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions
- Title(参考訳): コードを解釈してQuixbugs関数でより良いユニットテストを書く
- Authors: Vincent Li, Nick Doiron
- Abstract要約: 単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
- 参考スコア(独自算出の注目度): 0.05657375260432172
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Unit testing is a commonly-used approach in software engineering to test the
correctness and robustness of written code. Unit tests are tests designed to
test small components of a codebase in isolation, such as an individual
function or method. Although unit tests have historically been written by human
programmers, recent advancements in AI, particularly LLMs, have shown
corresponding advances in automatic unit test generation. In this study, we
explore the effect of different prompts on the quality of unit tests generated
by Code Interpreter, a GPT-4-based LLM, on Python functions provided by the
Quixbugs dataset, and we focus on prompting due to the ease with which users
can make use of our findings and observations. We find that the quality of the
generated unit tests is not sensitive to changes in minor details in the
prompts provided. However, we observe that Code Interpreter is often able to
effectively identify and correct mistakes in code that it writes, suggesting
that providing it runnable code to check the correctness of its outputs would
be beneficial, even though we find that it is already often able to generate
correctly-formatted unit tests. Our findings suggest that, when prompting
models similar to Code Interpreter, it is important to include the basic
information necessary to generate unit tests, but minor details are not as
important.
- Abstract(参考訳): 単体テストは、書かれたコードの正確性と堅牢性をテストするために、ソフトウェア工学で一般的に使用されるアプローチである。
ユニットテストは、個々の機能やメソッドなど、コードベースの小さなコンポーネントを独立した形でテストするように設計されたテストである。
単体テストは歴史的に人間のプログラマによって書かれてきたが、近年のAIの進歩、特にLLMは自動単体テスト生成の進歩を示している。
本研究では,コードインタプリタであるgpt-4ベースのllmが,quixbugsデータセットが提供するpython関数に対して,さまざまなプロンプトがユニットテストの品質に与える影響を検討する。
生成されたユニットテストの品質は、提供されたプロンプトの細部の変更に敏感でないことが分かりました。
しかし、Code Interpreterは、しばしば、それが書いたコードの誤りを効果的に識別し、修正できるので、アウトプットの正確性をチェックするために実行可能なコードを提供することは、既に正しく整形されたユニットテストを生成することができると認識しているにもかかわらず、有益である。
この結果から,コードインタプリタに似たモデルをプロンプトする場合,ユニットテスト生成に必要な基本的な情報を含めることが重要であるが,詳細はそれほど重要ではないことが示唆された。
関連論文リスト
- GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech
Detection? [55.20381279291041]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - 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) - CAT-LM: Training Language Models on Aligned Code And Tests [19.526181671936243]
テストはソフトウェア開発プロセスにおいて不可欠な部分だ。しかし、テストを書くのに時間がかかり、しばしば無視される。
我々は270億のパラメータを持つGPTスタイルの言語モデルであるAligned Code And Tests Language Model (CAT-LM)を提案する。
論文 参考訳(メタデータ) (2023-10-02T19:52:22Z) - ChatUniTest: a ChatGPT-based automated unit test generation tool [19.312604624372227]
既存の自動単体テスト生成ツールは、プログラムの理解に欠けており、読みやすさの低い単体テストと限定的なアサーションをもたらす。
ChatUniTestは、プロジェクトを解析し、必須情報を抽出し、適応的な焦点コンテキストを作成することでテストを生成する。
その後、テストを検証するとともに、構文的および単純なコンパイルエラーを修正するためにルールベースの修正を採用し、続いてChatGPTベースの修正によって、困難なエラーに対処する。
論文 参考訳(メタデータ) (2023-05-08T15:12:07Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Interactive Code Generation via Test-Driven User-Intent Formalization [60.90035204567797]
大きな言語モデル(LLM)は、非公式な自然言語(NL)の意図からコードを生成する。
自然言語は曖昧であり、形式的な意味論が欠けているため、正確性の概念を定義するのは難しい。
言語に依存しない抽象アルゴリズムと具体的な実装TiCoderについて述べる。
論文 参考訳(メタデータ) (2022-08-11T17:41:08Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Automated Support for Unit Test Generation: A Tutorial Book Chapter [21.716667622896193]
単体テストは、システムの他の部分と独立してテストできる最小のコードセグメントをテストする段階である。
単体テストは通常実行可能なコードとして書かれ、Pythonのpytestのような単体テストフレームワークが提供する形式で書かれる。
本章では,検索に基づく単体テスト生成の概念を紹介する。
論文 参考訳(メタデータ) (2021-10-26T11:13:40Z) - Auditing AI models for Verified Deployment under Semantic Specifications [65.12401653917838]
AuditAIは、解釈可能な形式検証とスケーラビリティのギャップを埋める。
AuditAIは、画素空間の摂動のみを用いた検証の限界に対処しながら、検証と認定トレーニングのための制御されたバリエーションを得られるかを示す。
論文 参考訳(メタデータ) (2021-09-25T22:53:24Z) - Beyond Accuracy: Behavioral Testing of NLP models with CheckList [66.42971817954806]
CheckList は NLP モデルをテストするためのタスクに依存しない方法論である。
CheckListには、包括的なテストのアイデアを促進する一般的な言語機能とテストタイプのマトリックスが含まれている。
ユーザスタディでは、CheckListのNLP実践者が2倍の数のテストを作成し、それのないユーザの約3倍のバグを発見しました。
論文 参考訳(メタデータ) (2020-05-08T15:48:31Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。