본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 22. 23:51

재현 가능한 플래키 테스트(Flaky-Test) 실패 사례 데이터셋

요약

비결정론적인 플래키 테스트(Flaky tests)의 재현 문제를 해결하기 위해 구축된 새로운 데이터셋 ReproFlake를 소개합니다. 이 데이터셋은 재현 가능한 환경, 실패 재현 스크립트, 자동 수정 스크립트 및 실행 로그를 포함하여 연구자들이 플래키 테스트를 효과적으로 탐지하고 디버깅할 수 있도록 지원합니다.

핵심 포인트

  • 재현 가능한 환경과 스크립트를 포함한 ReproFlake 데이터셋 제시
  • 1,115개의 재현 가능한 플래키 테스트 사례 수록
  • 실패 로그 및 자동 수정 기능을 통한 연구 편의성 증대
  • 에러 정보가 플래키 테스트 카테고리 식별에 유용함을 입증

플래키 테스트(Flaky tests)는 동일한 버전의 코드에서 실행될 때 비결정론적(non-deterministically)으로 통과하거나 실패합니다. 플래키 테스트를 탐지, 디버깅 및 수정하기 위한 많은 기술이 제안되었음에도 불구하고, 그 본질적인 비결정론성으로 인해 실패 사례를 재현하는 것은 여전히 주요한 과제로 남아 있습니다. 연구자들이 이를 연구할 수 있도록 돕는 많은 플래키 테스트 데이터셋이 존재하지만, 이러한 데이터셋들은 서로 분리된 플래키 테스트 세트로 구성되는 경우가 많습니다. 즉, 각 데이터셋은 서로 다른 카테고리의 플래키 테스트, 플래키 테스트의 실패 로그, 또는 개발자가 보고한 플래키 테스트 대 자동화 도구에 의해 발견된 플래키 테스트와 같이 고유한 정보만을 제공합니다. 본 연구에서는 개발자의 이슈 보고서와 대중적인 플래키 테스트 데이터셋 모두에서 선별하여, 재현 가능한 플래키 테스트 데이터셋을 구축하는 것을 목표로 합니다. 기존의 플래키 테스트 데이터셋과 비교하여, 우리의 데이터셋은 (1) 플래키 테스트를 컴파일하기 위한 재현 가능한 환경, (2) 실패를 재현하기 위한 스크립트, (3) 플래키 테스트 수정을 자동으로 적용하고 테스트가 더 이상 플래키하지 않음을 보장하는 스크립트, 그리고 (4) 플래키 테스트의 통과 및 실패 실행 로그를 최초로 제공합니다. 우리는 4가지 플래키 테스트 카테고리에 걸쳐 1,115개의 재현 가능한 플래키 테스트로 구성된 데이터셋인 ReproFlake를 제시합니다. 우리는 다른 사람들이 이 재현 가능한 데이터셋에 기여할 수 있도록 가이드라인을 제작하였으며, 우리의 데이터셋을 사용하여 플래키 테스트 실패 재현의 과제(예: 연구자들이 기존 플래키 테스트 데이터셋을 사용할 때 직면할 수 있는 과제), 특성(예: 수정 위치 및 플래키 테스트 카테고리와의 상관관계), 그리고 연구자들이 플래키 테스트에 대한 추가 정보(예: 코드 커버리지)를 수집하기 위해 우리 데이터셋을 사용할 때 직면할 수 있는 어려움을 이해하는 방법을 시연합니다. 우리의 연구 결과는 에러 정보가 플래키 테스트 카테고리를 식별하고 수정을 안내하는 데 도움이 된다는 것, 해결되지 않은 컴파일 실패가 레거시 프로젝트(legacy projects) 구축의 어려움을 강조한다는 것, 그리고 전형적인 수정 위치를 아는 것이 수정 노력을 우선순위화하는 데 도움이 될 수 있음을 보여줍니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0