Skip to main content
QUICK REVIEW

[論文レビュー] Scaling Test-Driven Code Generation from Functions to Classes: An Empirical Study

Yunhao Liang, Ruixuan Ying|arXiv (Cornell University)|Feb 3, 2026
Software Engineering Research被引用数 0
ひとこと要約

この研究は、関数レベルのタスクからクラスレベルの合成へとテスト駆動コード生成を拡張する依存性認識型のTDDフレームワークを提案する。「ClassEval-TDD」を導入し、8つのLLMにおけるクラスレベルの正確性を大幅に向上させる。

ABSTRACT

Test-driven development (TDD) has been adopted to improve Large Language Model (LLM)-based code generation by using tests as executable specifications. However, existing TDD-style code generation studies are largely limited to function-level tasks, leaving class-level synthesis where multiple methods interact through shared state and call dependencies underexplored. In this paper, we scale test-driven code generation from functions to classes via an iterative TDD framework. Our approach first analyzes intra-class method dependencies to derive a feasible generation schedule, and then incrementally implements each method under method-level public tests with reflection-style execution feedback and bounded repair iterations. To support test-driven generation and rigorous class-level evaluation, we construct ClassEval-TDD, a cleaned and standardized variant of ClassEval with consistent specifications, deterministic test environments, and complete method-level public tests. We conduct an empirical study across eight LLMs and compare against the strongest direct-generation baseline (the best of holistic, incremental, and compositional strategies). Our class-level TDD framework consistently improves class-level correctness by 12 to 26 absolute points and achieves up to 71% fully correct classes, while requiring only a small number of repairs on average. These results demonstrate that test-driven generation can effectively scale beyond isolated functions and substantially improve class-level code generation reliability. All code and data are available at https://anonymous.4open.science/r/ClassEval-TDD-C4C9/

研究の動機と目的

  • TDDを機能レベルのソフトウェアからクラスレベルへとスケールさせ、メソッド間で状態と依存関係を共有する動機付け。
  • クラス内で有効なメソッド生成順序を決定するための依存性認識スケジューリングの導入。
  • 境界予算内でTDD生成メソッドを修正する反映型修復機構の開発。
  • 信頼性の高いクラスレベルのTDD評価のためにClassEval-TDDをクリーンで決定論的なベンチマークとして作成。
  • 複数のLLMを横断して実証評価を行い、強力なベースラインと比較して利得と失敗モードを定量化。

提案手法

  • クラス内メソッド依存関係を分析して prerequisite関係を尊重する生成スケジュールを導出。
  • 公開テストを実行仕様として使用し、スケジュール上の各メソッドを反復的に実装。
  • 反映型修復ループを用いて失敗を診断し、最小パッチを提案し、修復予算内でテストを通過するまで修正。
  • ClassEvalを修復・標準化してClassEval-TDDを構築し、修正済みのdocstring、整列したスケルトン、決定論的テスト、メソットレベルの公開テストを確保。
  • Holistic、Incremental、Compositionalの各ベースラインで8つのLLMを評価し、クラスレベルおよび機能レベルの成功と依存性の正確さを測定。

実験結果

リサーチクエスチョン

  • RQ1RQ1: ClassEvalをClassEval-TDDへ修正・標準化することは、戦略とモデル間のベースライン生成性能にどのような影響を与えるか?
  • RQ2RQ2: LLMはクラス内メソッド依存関係をどれだけ正確に推定し、実現可能な生成スケジュールを作成できるか?
  • RQ3RQ3: 依存性認識型のクラスレベルTDDフレームワークは、クラスレベルの正確性を高め、修復を減らすのにどれだけ効果的か?

主な発見

  • ClassEval-TDDは、全モデル・全戦略においてClassEvalと比較してクラスレベルおよび機能レベルの成功を一貫して改善。
  • Incremental生成はClassEval-TDD上で大幅に競争力を高め、しばしばHolisticの性能に近づくか上回る。
  • LLMによる依存推定は高いリコールと強いF1を示し、スケジューリングを別の失敗モードとして示すトポロジー順序違反が時折発生。
  • ほとんどの依存性エラーは、No-depsメソッドでの過大推定(extra_deps)またはWith-depsメソッドでの依存欠落(missing_deps)が原因で、ボトルネックが異なることを示唆。
  • トポロジー順序違反は、意味的先行情報が実際の依存関係と衝突する少数のタスクに集中。
  • 全体として、このフレームワークは最大3回の修復を各メソッドに許容する制限付き修復予算の下で、最大71%の完全に正しいクラスを達成。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。