論文の概要: 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は単に問題ステートメントを使用するよりも優れた開発モデルであることを示す。
関連論文リスト
- GenX: Mastering Code and Test Generation with Execution Feedback [7.225594526057816]
本稿では,コード生成モデルとテスト生成モデルを同時にトレーニングする新しい手法を提案する。
テストデータとコードデータの増大のための2つの戦略と、コードとテストランキングのための新しいスコアリング機能を導入します。
その結果、我々のモデルは、テストケースやコードソリューションの数の増加で反復的にトレーニングされた場合、元のデータセットでトレーニングされたモデルよりも優れています。
論文 参考訳(メタデータ) (2024-12-18T03:18:21Z) - TDD-Bench Verified: Can LLMs Generate Tests for Issues Before They Get Resolved? [11.762669773233474]
テスト駆動開発(TDD)は、まずテストを書き、後でコーディングするプラクティスです。
この記事では、現実のGitHubコードリポジトリから抽出した449のイシューの高品質なベンチマークスイートであるTDD-Bench Verifiedを紹介します。
論文 参考訳(メタデータ) (2024-12-03T22:38:05Z) - CodeDPO: Aligning Code Models with Self Generated and Verified Source Code [52.70310361822519]
我々は、コード生成に好み学習を統合するフレームワークであるCodeDPOを提案し、コードの正確性と効率性という2つの重要なコード優先要因を改善した。
CodeDPOは、コードとテストケースを同時に生成、評価するセルフジェネレーション・アンド・バリデーションメカニズムを利用して、新しいデータセット構築方法を採用している。
論文 参考訳(メタデータ) (2024-10-08T01:36:15Z) - Codev-Bench: How Do LLMs Understand Developer-Centric Code Completion? [60.84912551069379]
Code-Development Benchmark (Codev-Bench)は、細粒度で現実世界、リポジトリレベル、開発者中心の評価フレームワークです。
Codev-Agentは、リポジトリのクローリングを自動化し、実行環境を構築し、既存のユニットテストから動的呼び出しチェーンを抽出し、データ漏洩を避けるために新しいテストサンプルを生成するエージェントベースのシステムである。
論文 参考訳(メタデータ) (2024-10-02T09:11:10Z) - CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - SWT-Bench: Testing and Validating Real-World Bug-Fixes with Code Agents [10.730852617039451]
ユーザ問題をテストケースに形式化するLLMベースのコードエージェントについて検討する。
我々は人気のあるGitHubリポジトリに基づいた新しいベンチマークを提案し、現実世界の問題、地味なバグフィックス、ゴールデンテストを含む。
コード修復用に設計されたコードエージェントは,テスト生成用に設計されたシステムの性能を上回っている。
論文 参考訳(メタデータ) (2024-06-18T14:54:37Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
大規模言語モデル(LLM)は、コード生成において大きな進歩を遂げていますが、既存の研究は、ソフトウェア開発の動的な性質を説明できません。
バージョン別コード補完(VSCC)とバージョン別コードマイグレーション(VACM)の2つの新しいタスクを提案する。
VersiCodeについて広範な評価を行い、バージョン管理可能なコード生成が確かに重要な課題であることを示した。
論文 参考訳(メタデータ) (2024-06-11T16:15:06Z) - Large Language Models as Test Case Generators: Performance Evaluation and Enhancement [3.5398126682962587]
大規模言語モデルが高品質なテストケースをいかに生み出すかを検討する。
本稿では,テストインプットとテストアウトプットの生成を分離するemphTestChainというマルチエージェントフレームワークを提案する。
以上の結果から,TestChainはベースラインのマージンを大きく上回っていることが示唆された。
論文 参考訳(メタデータ) (2024-04-20T10:27:01Z) - StepCoder: Improve Code Generation with Reinforcement Learning from
Compiler Feedback [58.20547418182074]
2つの主要コンポーネントからなるコード生成の新しいフレームワークであるStepCoderを紹介します。
CCCSは、長いシーケンスのコード生成タスクをCurriculum of Code Completion Subtaskに分割することで、探索課題に対処する。
FGOは、未実行のコードセグメントをマスクすることでのみモデルを最適化し、Fine-Grained Optimizationを提供する。
提案手法は,出力空間を探索し,対応するベンチマークにおいて最先端の手法より優れた性能を発揮する。
論文 参考訳(メタデータ) (2024-02-02T13:14:31Z) - PyTester: Deep Reinforcement Learning for Text-to-Testcase Generation [20.441921569948562]
テスト駆動開発(TDD)は、実際のコードを書く前に要件に基づいてテストケースを書くことを義務付ける。
テストケースを書くことはTDDの中心ですが、時間がかかり、コストがかかり、開発者が悩まされることも少なくありません。
PyTesterは、テキストからテストケースを生成するアプローチで、正しい、実行可能な、完全な、効果的なテストケースを自動的に生成します。
論文 参考訳(メタデータ) (2024-01-15T10:21:58Z) - CodeT: Code Generation with Generated Tests [49.622590050797236]
テストケースを自動的に生成するための事前学習言語モデルについて検討する。
CodeTは生成されたテストケースを使ってコードソリューションを実行し、次に最良のソリューションを選択します。
我々は,HumanEvalとMBPPのベンチマークを用いて,5種類の事前学習モデル上でCodeTを評価する。
論文 参考訳(メタデータ) (2022-07-21T10:18:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。