# CoverUp: Effective High Coverage Test Generation for Python

### 저자

Juan Altmayer Pizzorno, Emery D. Berger

### 개요

본 논문은 높은 코드 커버리지를 달성하는 파이썬 회귀 테스트 생성을 위한 새로운 방법인 CoverUp을 제안합니다. CoverUp은 커버리지 분석, 코드 컨텍스트, 그리고 피드백을 LLM 프롬프트에 결합하여 반복적으로 테스트를 생성하고 라인 및 브랜치 커버리지를 향상시킵니다. 오픈소스 파이썬 프로젝트에서 추출한 난이도 높은 코드 벤치마크를 통해 CoverUp이 기존 기술보다 우수함을 보여줍니다.  CodaMosa(하이브리드 검색/LLM 기반 테스트 생성기)와 비교하여 모듈당 중간 라인+브랜치 커버리지 80%(CodaMosa는 47%)를 달성하였고, MuTAP(변이 및 LLM 기반 테스트 생성기)과 비교하여 전체 라인+브랜치 커버리지 89%(MuTAP는 77%)를 달성했습니다. 또한 CoverUp의 성능이 사용된 LLM뿐 아니라 구성 요소들의 결합된 효과에 기인함을 보여줍니다.

### 시사점, 한계점

- **시사점:**

    - LLM을 활용한 높은 코드 커버리지의 회귀 테스트 자동 생성 가능성을 제시.

    - 기존 LLM 기반 테스트 생성 도구 대비 성능 향상을 실험적으로 증명.

    - 커버리지 분석, 코드 컨텍스트, 피드백의 결합이 테스트 생성 효율 향상에 중요함을 시사.

- **한계점:**

    - 현재는 파이썬에 국한된 프로토타입 구현. 다른 프로그래밍 언어로의 확장성 검토 필요.

    - 벤치마크 코드의 범위 및 특성에 따라 성능이 달라질 수 있음.  다양한 코드 베이스에 대한 추가적인 실험 필요.

    - CoverUp의 구성 요소 간 상호작용 및 최적화에 대한 추가적인 연구 필요.

[PDF 보기](https://arxiv.org/pdf/2403.16218)

For the site tree, see the [root Markdown](https://slashpage.com/haebom.md).
