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)|2026. 02. 03.
Software Engineering Research인용 수 0
한 줄 요약

이 연구는 함수 수준 작업에서 클래스 수준 합성으로 테스트 주도 코드 생성을 확장하는 의 dependency-aware TDD 프레임워크를 소개하고, ClassEval-TDD를 제시하며 여덟 개 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에 걸쳐 실증적으로 평가하고 강력한 베이스라인과 비교하여 이익과 실패 모드를 정량화한다.

제안 방법

  • 동일 클래스로 묶인 메서드 간 의존성을 분석하여 선행 관계를 존중하는 생성 스케줄을 도출한다.
  • 스케줄 내 각 메서드를 메서드 수준의 공개 테스트를 실행 가능한 명세로 사용하여 반복적으로 구현한다.
  • 반영 스타일의 수리 루프를 사용하여 실패를 진단하고 최소 패치를 제안하며 수리 예산 내에서 테스트가 통과할 때까지 패치한다.
  • 수정된 도크스트링, 정렬된 골격, 결정론적 테스트 및 메서드 수준의 공개 테스트를 보장하기 위해 ClassEval을 수리하고 표준화하여 ClassEval-TDD를 구성한다.
  • Holistic, Incremental, 및 Compositional 베이스라인에 걸쳐 여덟 LLM을 평가하고 클래스 수준 및 함수 수준의 성공과 의존성 정확도를 측정한다.

실험 결과

연구 질문

  • RQ1RQ1: ClassEval을 ClassEval-TDD로 표준화하고 수리하는 것이 전략 및 모델 간의 베이스라인 생성 성능에 어떤 영향을 미치는가?
  • RQ2RQ2: LLM이 클래스 내 메서드 의존성을 얼마나 정확히 추론하고 실행 가능한 생성 스케줄을 생성할 수 있는가?
  • RQ3RQ3: 의존성 인식 클래스 수준 TDD 프레임워크가 클래스 수준의 정합성을 얼마나 개선하고 수정을 줄이는 데 효과적인가?

주요 결과

  • ClassEval-TDD는 모든 모델과 전략에서 ClassEval과 비교해 클래스 수준 및 함수 수준의 성공을 일관되게 향상시킨다.
  • ClassEval-TDD에서 점진적 생성은 훨씬 더 경쟁력이 있게 되어 종종 Holistic 성능에 근접하거나 이를 능가한다.
  • LLM의 의존성 추론은 높은 재현율과 강한 F1을 보이며, 간헐적으로 토폴로지 순서 위반이 발생해 스케줄링이 별개의 실패 모드임을 시사한다.
  • 대부분의 의존성 오류는 No-deps 메서드에서 과대추정(extra_deps) 때문이거나 With-deps 메서드에서 누락된 의존성(missing_deps) 때문이며, 서로 다른 병목을 강조한다.
  • 토폴로지 순서 위반은 의미론적 사전지식이 실제 의존성과 충돌하는 소수의 작업에 집중된다.
  • 전반적으로 이 프레임워크는 각 메서당 최대 3회의 수리로 제한된 예산 내에서 최대 71%의 완전 정답 클래스를 달성한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.