본문으로 건너뛰기

"Flaky Test Detection" 태그로 연결된 2개 게시물개의 게시물이 있습니다.

모든 태그 보기

Systematically Producing Test Orders to Detect Order-Dependent Flaky Tests

· 약 6분
Chengpeng Li
M. Mahdi Khosravi
Wing Lam
August Shi

논문 정보

  • 제목: Systematically Producing Test Orders to Detect Order-Dependent Flaky Tests
  • 저자: Chengpeng Li (The University of Texas at Austin), M. Mahdi Khosravi (Middle East Technical University), Wing Lam (George Mason University), August Shi (The University of Texas at Austin)
  • 학회/저널: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA '23)
  • 발행일: 2023-05-03 (Accepted date)
  • DOI: https://doi.org/10.1145/3597926.3598083
  • 주요 연구 내용: 기존의 무작위 순서 변경이나 테스트 '클래스' 단위 페어링의 한계를 극복하기 위해, Tuscan squares를 활용하여 테스트 '메서드' 단위의 페어를 체계적으로 생성하는 세 가지 기법 (Tuscan Intra-Class, Tuscan Inter-Class, Target Pairs)을 제안함. 이 기법들은 테스트 클래스 내 페어(intra-class)와 클래스 간 페어(cross-class)를 커버함.
  • 주요 결과 및 결론: 47개 프로젝트의 289개 OD 테스트 평가 결과, 'Tuscan Intra-Class' 기법이 평균 104.7개의 테스트 순서로 97.2%의 OD 테스트를 탐지하여, 기존 기법(36.0% 탐지) 대비 비용 대비 효율성이 가장 높았음. 'Tuscan Inter-Class'는 100% 탐지하지만 비용이 매우 높았음.
  • 기여점: (1) 테스트 페어를 체계적으로 커버하는 세 가지 새로운 OD 테스트 탐지 기법 제안. (2) 289개 OD 테스트에 대한 평가를 통해 'Tuscan Intra-Class'가 가장 비용 효율적임을 입증. (3) 실제 OD 탐지에 필요한 최소 순서 집합이 매우 작음을 보여(평균 < 4), 향후 테스트 순서 우선순위화 연구의 필요성을 제시함.

Repairing Order-Dependent Flaky Tests via Test Generation

· 약 7분
Chengpeng Li
Chenguang Zhu
Wenxi Wang
August Shi

논문 정보

  • 제목: Repairing Order-Dependent Flaky Tests via Test Generation
  • 저자: Chengpeng Li, Chenguang Zhu, Wenxi Wang, and August Shi (The University of Texas at Austin)
  • 학회/저널: 2022 IEEE/ACM 44th International Conference on Software Engineering (ICSE)
  • 발행일: 2022-05-21
  • DOI: https://doi.org/10.1145/3510003.3510173
  • 주요 연구 내용: 순서 의존적(order-dependent) 결함 테스트 복구를 위한 자동화 기법 ODRepair 제안. 이 기법은 먼저 테스트 실패를 유발하는 오염된 공유 상태(polluted shared state)를 식별하고, 이후 자동화된 테스트 생성 도구(Randoop)를 활용하여 해당 상태를 리셋(reset)하는 '클리너(cleaner)' 코드(메서드 호출 시퀀스)를 생성함.
  • 주요 결과 및 결론: 327개의 순서 의존적 테스트 대상 평가. ODRepair는 181개 테스트에서 오염된 정적 필드(static field)를 식별했으며, 이 중 141개의 테스트에 대한 패치를 성공적으로 생성함. 기존 SOTA 기법인 iFixFlakies가 복구하지 못하는 24개의 테스트를 ODRepair가 복구함.
  • 기여점:
    1. 기존에 '클리너' 테스트가 없는 경우에도 테스트 생성을 통해 순서 의존적 테스트를 복구하는 새로운 접근법 제시.
    2. 오염된 공유 힙 상태(heap-state), 특히 정적 필드를 자동으로 식별하는 'Debugger' 컴포넌트 개발.
    3. 'Generator' 컴포넌트를 통해 테스트 생성 도구를 가이드하여 리셋 메서드를 호출하고 패치를 생성하는 방법론 구현.