論文の概要: Test-Driven Development for Code Generation
- arxiv url: http://arxiv.org/abs/2402.13521v2
- Date: Tue, 11 Jun 2024 15:53:35 GMT
- ステータス: 処理完了
- システム内更新日: 2024-06-12 22:22:49.734212
- Title: Test-Driven Development for Code Generation
- Title(参考訳): コード生成のためのテスト駆動開発
- Authors: Noble Saji Mathews, Meiyappan Nagappan,
- Abstract要約: 大きな言語モデル(LLM)は、問題ステートメントから直接コードスニペットを生成する重要な機能を示している。
本稿では,テスト駆動開発(TDD)をAI支援コード生成プロセスに組み込む方法について検討する。
- 参考スコア(独自算出の注目度): 0.850206009406913
- License: http://creativecommons.org/licenses/by-nc-sa/4.0/
- Abstract: Recent Large Language Models (LLMs) have demonstrated significant capabilities in generating code snippets directly from problem statements. This increasingly automated process mirrors traditional human-led software development, where code is often written in response to a requirement. Historically, Test-Driven Development (TDD) has proven its merit, requiring developers to write tests before the functional code, ensuring alignment with the initial problem statements. Applying TDD principles to LLM-based code generation offers one distinct benefit: it enables developers to verify the correctness of generated code against predefined tests. This paper investigates if and how TDD can be incorporated into AI-assisted code-generation processes. We experimentally evaluate our hypothesis that providing LLMs like GPT-4 and Llama 3 with tests in addition to the problem statements enhances code generation outcomes. We experimented with established function-level code generation benchmarks such as MBPP and HumanEval. Our results consistently demonstrate that including test cases leads to higher success in solving programming challenges. We assert that TDD is a promising paradigm for helping ensure that the code generated by LLMs effectively captures the requirements.
- Abstract(参考訳): 最近のLarge Language Models (LLM)は、問題ステートメントから直接コードスニペットを生成する重要な機能を示している。
この自動化プロセスは、要求に応じてコードを記述することの多い、従来のヒューマン主導のソフトウェア開発を反映している。
歴史的に、テスト駆動開発(TDD)はそのメリットを証明し、開発者は機能コードの前にテストを書かなければなりません。
LLMベースのコード生成にTDD原則を適用することで、開発者は事前に定義されたテストに対して生成されたコードの有効性を検証することができる。
本稿では,TDDをAI支援コード生成プロセスに組み込む方法について検討する。
GPT-4 や Llama 3 のような LLM に問題文に加えてテストを提供することでコード生成結果が向上するという仮説を実験的に評価した。
MBPPやHumanEvalといった関数レベルのコード生成ベンチマークを実験した。
私たちの結果は、テストケースを含むことが、プログラミングの課題を解決する上で、より高い成功をもたらすことを一貫して示しています。
TDDはLLMが生成したコードが要求を効果的に捉えるのに役立つ、有望なパラダイムである、と私たちは主張しています。
関連論文リスト
- CodeRAG-Bench: Can Retrieval Augment Code Generation? [78.37076502395699]
検索拡張生成を用いたコード生成の系統的,大規模な解析を行う。
まず、コード生成タスクの3つのカテゴリを含む総合的な評価ベンチマークであるCodeRAG-Benchをキュレートする。
CodeRAG-Bench上のトップパフォーマンスモデルについて、1つまたは複数のソースから検索したコンテキストを提供することにより検討する。
論文 参考訳(メタデータ) (2024-06-20T16:59:52Z) - Code Agents are State of the Art Software Testers [10.730852617039451]
ユーザ問題をテストケースに形式化するLLMベースのコードエージェントについて検討する。
私たちは人気のあるGitHubリポジトリに基づいた新しいベンチマークを提案し、現実世界の問題、地味なパッチ、ゴールデンテストを含む。
LLMは一般的に、コード修復用に設計されたCode Agentsを使って、関連するテストケースを生成するのに驚くほどうまく機能します。
論文 参考訳(メタデータ) (2024-06-18T14:54:37Z) - VersiCode: Towards Version-controllable Code Generation [58.82709231906735]
VersiCodeは,大規模言語モデルが特定のライブラリのバージョンに対して検証可能なコードを生成する能力を評価するために設計された,最初の包括的なデータセットである。
バージョン別コード補完(VSCC)とバージョン別コード編集(VACE)の2つの専用評価タスクを設計する。
LLMのパフォーマンスをベンチマークするために総合的な実験が行われ、これらのタスクと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) - InfiBench: Evaluating the Question-Answering Capabilities of Code Large Language Models [56.723509505549536]
InfiBenchは、私たちの知識に合ったコードのための、最初の大規模フリーフォーム質問回答(QA)ベンチマークです。
慎重に選択された234の高品質なStack Overflow質問で構成されており、15のプログラミング言語にまたがっている。
InfiBench上で100以上の最新のコードLLMに対して,系統的評価を行い,新しい知見と洞察に富んだ結果を得た。
論文 参考訳(メタデータ) (2024-03-11T02:06:30Z) - 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) - TDD Without Tears: Towards Test Case Generation from Requirements
through Deep Reinforcement Learning [22.331330777536046]
テスト駆動開発(TDD)は、実際のコードを書く前に要件に基づいてテストケースを書くことを義務付ける。
テストケースを書くことはTDDの中心ですが、時間がかかり、コストがかかり、開発者が悩まされることも少なくありません。
PyTesterは、テキストからテストケースを生成するアプローチで、正しい、実行可能な、完全な、効果的なテストケースを自動的に生成します。
論文 参考訳(メタデータ) (2024-01-15T10:21:58Z) - Testing LLMs on Code Generation with Varying Levels of Prompt
Specificity [0.0]
大規模言語モデル (LLM) は、人間のようなテキスト生成と処理を模倣する非並列的な技術を示している。
自然言語のプロンプトを実行可能なコードに変換する可能性は、ソフトウェア開発プラクティスの大きな変化を約束します。
論文 参考訳(メタデータ) (2023-11-10T23:41:41Z) - Test-Case-Driven Programming Understanding in Large Language Models for
Better Code Generation [15.166827643436346]
muFiXは、大きな言語モデル(LLM)のコード生成性能を改善する新しいプロンプト技術である。
まず、テストケース分析を利用して仕様の理解を得、自己改善プロセスを可能にする。
muFiXはさらに、提供された理解と実際の理解の間のギャップを減らす方向に向けた仕様理解を修正している。
論文 参考訳(メタデータ) (2023-09-28T02:58:07Z) - 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。