[논문 리뷰] Can We Classify Flaky Tests Using Only Test Code? An LLM-Based Empirical Study
본 연구는 대형 언어 모델이 테스트 코드만으로 flaky 테스트를 분류할 수 있는지 평가하며, LLM이 이 과제를 처리하는 데 어려움을 겪고 있음을 보여주고, 비결정적성, 비교적 낮은 MCC 점수, 추가 맥락 없이는 인간 실행 가능성이 제한됨을 시사한다.
Flaky tests yield inconsistent results when they are repeatedly executed on the same code revision. They interfere with automated quality assurance of code changes and hinder efficient software testing. Previous work evaluated approaches to train machine learning models to classify flaky tests based on identifiers in the test code. However, the resulting classifiers have been shown to lack generalizability, hindering their applicability in practical environments. Recently, pre-trained Large Language Models (LLMs) have shown the capability to generalize across various tasks. Thus, they represent a promising approach to address the generalizability problem of previous approaches. In this study, we evaluated three LLMs (two general-purpose models, one code-specific model) using three prompting techniques on two benchmark datasets from prior studies on flaky test classification. Furthermore, we manually investigated 50 samples from the given datasets to determine whether classifying flaky tests based only on test code is feasible for humans. Our findings indicate that LLMs struggle to classify flaky tests given only the test code. The results of our best prompt-model combination were only marginally better than random guessing. In our manual analysis, we found that the test code does not necessarily contain sufficient information for a flakiness classification. Our findings motivate future work to evaluate LLMs for flakiness classification with additional context, for example, using retrieval-augmented generation or agentic AI.
연구 동기 및 목표
- 사전 학습된 LLM이 작업별 미세 조정 없이 테스트 코드만으로 flaky 테스트를 분류할 수 있는지 평가한다.
- 벤치마크 데이터셋 전반에 걸쳐 제로샷, 제로샷 코완(CoT), 소수샷 CoT를 포함한 여러 프롬프트 전략을 평가한다.
- LLM 기반 분류의 결정성(Determinism)을 분석하고 테스트 코드 기반의 flaky에 대해 인간 판단과 비교한다.
- 추가 맥락 또는 검색 증가된 접근법을 포함하는 향후 연구에 대한 권고를 제공한다.
제안 방법
- 네 가지 프롬프트 설정에서 온도 0으로 세 가지 LLM(GPT-4o, GPT-OSS-120b, Qwen3-Coder-480b)을 평가한다.
- 제로샷, 제로샷 체인-오브- pensamento(CoT), 소수샷 체인-오브- 생각(CoT) 프롬프트를 사용하고 여섯 개의 인컨텍스트 데모(세 flaky, 세 비-flaky)로 구성한다.
- 두 개의 flaky 벤치마크(IDoFT 하위집합 및 FlakeBench)에서 가중치 정밀도, 가중치 재현율, 가중치 F1, MCC를 측정한다.
- 설정당 세 차례 반복에 걸친 정규화된 해밍 거리로 비결정성을 평가한다.
- IDoFT에서 테스트 코드만으로 분류 타당성을 평가하기 위해 50개의 flaky 샘플에 대한 수동 인간 판단 연구를 수행한다.
실험 결과
연구 질문
- RQ1RQ1: 제로샷, 제로샷 CoT, 소수샷 CoT 프롬프트 하에서 테스트 코드에 기반한 flaky 테스트 분류에서 LLM의 성능은 어떠한가?
- RQ2RQ2: 반복 실행에서 LLM 기반 flaky 테스트 분류의 비결정성 정도는 어느 수준인가?
- RQ3RQ3: 사람은 테스트 코드만으로 flaky 테스트를 얼마나 잘 분류할 수 있는가?
주요 결과
- LLMs는 두 데이터셋 모두에서 테스트 코드만으로 flaky 테스트를 분류하는 데에 있어 성능이 낮다.
- IDoFT에서 소수샷 CoT로 얻은 최상의 MCC는 0.27; FlakeBench에서 GPT-OSS의 제로샷 프롬프트로 MCC가 0.17로 정점에 도달한다.
- 소수샷 프롬프팅은 일반 목적 모델의 IDoFT 결과를 일반적으로 향상시키지만, 전반적인 성능은 여전히 약하며 MCC는 0.27 이하이다.
- 다양한 설정에서 정규화된 해밍 거리가 최대 0.25에 달하는 상당한 비결정성을 관찰하여 운영 배포에 대한 신뢰성 우려를 제기한다.
- Qwen-Code는 전반적으로 비결정성이 더 낮고 일부 설정에서 반복 간 동일한 결과를 생성할 수 있다.
- 수동 인간 분석은 테스트 코드만으로는 더 정교한 flaky 유형을 식별하기에 충분하지 않으며, 일부 flaky는 테스트 코드 너머의 맥락이 필요하다고 시사한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.