프로그래밍 가능한 속성 기반 테스팅: 속성과 실행기를 분리하는 새로운 언어

Programmable Property-Based Testing

속성 기반 테스팅(PBT)은 소프트웨어 신뢰성을 높이기 위한 인기 있는 기법으로, 사용자가 실행 가능한 명세인 속성을 작성하고 테스팅 프레임워크가 이를 반복적으로 검사합니다. 현대 PBT 프레임워크는 속성을 얕은 임베딩 DSL로 작성하며, 정의가 테스트 방식과 밀접하게 결합되어 있습니다. 이러한 프레임워크는 설정 옵션을 제공하지만, 사용자는 라이브러리 개발자가 미리 허용한 범위로 제한됩니다. 본 논문은 혼합 임베딩 기반의 '지연 바인딩 추상 구문'이라는 새로운 언어를 제안하여 속성을 데이터 구조로 승화시키고 실행기와 분리합니다. Rocq와 Racket으로 구현하여 의존 타입과 동적 타입의 강점을 활용하며, 다양한 속성 실행기를 빠르게 프로토타이핑하여 도메인 특화 테스팅 개선 가능성을 보여줍니다.

현대 PBT 프레임워크에서 속성은 일반적으로 얕게 임베딩된 도메인 특화 언어로 작성되며, 그 정의는 테스트되는 방식과 밀접하게 결합되어 있습니다.

이 날의 다른 글

2026-08-19