論文の概要: Test-Driven Development for Code Generation
- arxiv url: http://arxiv.org/abs/2402.13521v1
- Date: Wed, 21 Feb 2024 04:10:12 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-22 17:09:54.576010
- Title: Test-Driven Development for Code Generation
- Title(参考訳): コード生成のためのテスト駆動開発
- Authors: Noble Saji Mathews and Meiyappan Nagappan
- Abstract要約: GPT4のような大規模言語モデル(LLM)は問題文からコードスニペットを生成する能力を示している。
本稿では,GPT4への入力として問題文とテストを与える方が,単に問題文を入力として与えるよりも優れているという仮説を実証的に評価する。
- 参考スコア(独自算出の注目度): 1.0044057719679085
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Large language models (LLMs) like GPT4, have shown proficiency in generating
code snippets from problem statements. Traditionally software development by
humans followed a similar methodology of writing code from problem statements
or requirements. However, in the past, there have been several studies that
have shown the value of test-driven development (TDD) where humans write tests
based on problem statements before the code for the functionality is written.
In the context of LLM-based code generation, one obvious benefit of TDD is that
the developer then knows for sure if the generated code has passed all the
given tests or not. Therefore, in this paper, we want to empirically evaluate
the hypothesis: giving the problem statements and tests as input to GPT4 is
better than just giving the problem statement as input. To test our hypothesis,
we build a framework TGen. In our experiments on the MBPP, HumanEval and
CodeChef datasets, we consistently find that including tests solves more
programming problems than not including them. Thus we show that TDD is a better
development model than just using a problem statement when using GPT4 for code
generation tasks.
- Abstract(参考訳): GPT4のような大規模言語モデル(LLM)は問題文からコードスニペットを生成する能力を示している。
従来、人間によるソフトウェア開発は、問題ステートメントや要件からコードを書く同様の方法に従っていた。
しかし、過去にはテスト駆動開発(TDD)の価値を示すいくつかの研究があり、そこでは、人が機能のためのコードが書かれる前に問題文に基づいてテストを書く。
LLMベースのコード生成のコンテキストでは、TDDの明らかなメリットの1つは、生成されたコードが与えられたテストをすべてパスしたかどうかを開発者が確実に知っていることです。
そこで本稿では,GPT4の入力として問題文とテストを与える方が,単に問題文を入力として与えるよりも優れているという仮説を実証的に評価したい。
仮説をテストするために、フレームワークTGenを構築します。
MBPP、HumanEval、CodeChefのデータセットに関する実験では、テストを含むと、それらを含めるよりも多くのプログラミング問題を解決できることがわかった。
したがって、コード生成タスクにGPT4を使用する場合、TDDは単に問題ステートメントを使用するよりも優れた開発モデルであることを示す。
関連論文リスト
- GPT-HateCheck: Can LLMs Write Better Functional Tests for Hate Speech
Detection? [55.20381279291041]
HateCheckは、合成データに対してきめ細かいモデル機能をテストするスイートである。
GPT-HateCheckは,スクラッチからより多彩で現実的な機能テストを生成するフレームワークである。
クラウドソースのアノテーションは、生成されたテストケースが高品質であることを示しています。
論文 参考訳(メタデータ) (2024-02-23T10:02:01Z) - TDD Without Tears: Towards Test Case Generation from Requirements
through Deep Reinforcement Learning [22.331330777536046]
テスト駆動開発(TDD)は、実際のコードを書く前に要件に基づいてテストケースを書くことを義務付ける。
テストケースを書くことはTDDの中心ですが、時間がかかり、コストがかかり、開発者が悩まされることも少なくありません。
PyTesterは、テキストからテストケースを生成するアプローチで、正しい、実行可能な、完全な、効果的なテストケースを自動的に生成します。
論文 参考訳(メタデータ) (2024-01-15T10:21:58Z) - Leveraging Print Debugging to Improve Code Generation in Large Language
Models [63.63160583432348]
大規模言語モデル(LLM)はコード生成タスクにおいて大きな進歩を遂げた。
しかし、複雑なデータ構造やアルゴリズムによるプログラミング問題に対処する彼らのパフォーマンスは、依然として準最適である。
そこで本稿では,LLM のデバッグを "print debugging" 手法でガイドする,コンテキスト内学習手法を提案する。
論文 参考訳(メタデータ) (2024-01-10T18:37:59Z) - 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) - Prompting Code Interpreter to Write Better Unit Tests on Quixbugs
Functions [0.05657375260432172]
単体テストは、ソフトウェア工学において、記述されたコードの正確性と堅牢性をテストするために一般的に使用されるアプローチである。
本研究では,コードインタプリタが生成する単体テストの品質に及ぼす異なるプロンプトの影響について検討する。
生成した単体テストの品質は、提供されたプロンプトのマイナーな詳細の変更に敏感ではないことがわかった。
論文 参考訳(メタデータ) (2023-09-30T20:36:23Z) - Using Large Language Models to Generate JUnit Tests: An Empirical Study [0.4788487793976782]
コード生成モデルは、コードコメント、既存のコード、または両方の組み合わせからプロンプトを受け取り、コードを生成する。
我々は,3つのモデル (Codex, GPT-3.5-Turbo, StarCoder) がどの程度単体テストを生成するかを検討した。
CodexモデルはHumanEvalデータセットの80%以上のカバレッジを達成したが、EvoSuite SF110ベンチマークの2%以上のカバレッジを持つモデルはない。
論文 参考訳(メタデータ) (2023-04-30T07:28:06Z) - Teaching Large Language Models to Self-Debug [62.424077000154945]
大規模言語モデル(LLM)は、コード生成において素晴らしいパフォーマンスを達成した。
本稿では,大規模言語モデルで予測プログラムを数発のデモでデバッグする自己デバッグを提案する。
論文 参考訳(メタデータ) (2023-04-11T10:43:43Z) - Learning Deep Semantics for Test Completion [46.842174440120196]
テスト完了の新たなタスクを形式化し、テスト対象の文のコンテキストとコードに基づいて、テストメソッドで次のステートメントを自動的に完了する。
テスト補完にコードセマンティクスを用いたディープラーニングモデルであるTeCoを開発した。
論文 参考訳(メタデータ) (2023-02-20T18:53:56Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z) - Measuring Coding Challenge Competence With APPS [54.22600767666257]
コード生成のベンチマークであるAPPSを紹介する。
私たちのベンチマークには1万の問題が含まれています。
GPT-Neoのような最近のモデルでは、導入問題のテストケースの約15%をパスできる。
論文 参考訳(メタデータ) (2021-05-20T17:58:42Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。