제약 회복형 최소 MC/DC 테스트 생성기 EQ Robin
초록
EQ Robin은 동일한 논리 함수를 여러 구조로 변형해 로빈 규칙을 적용함으로써, 산업 현장에서 흔히 마주하는 불가능·불법 입력 제약을 회피할 수 있는 N+1 크기의 최소 Unique‑Cause MC/DC 테스트 스위트를 자동으로 생성한다. 구조 변형, 예산 기반 탐색, 그리고 실행 불가능한 경우의 보완 전략을 포함한 3단계 파이프라인을 제시한다.
상세 분석
본 논문은 안전‑중요 시스템에서 필수적인 Unique‑Cause MC/DC 커버리지를 만족시키면서도, 실제 운용 환경이 요구하는 입력 제약(불법, 비실현, 고비용)을 고려하지 못하는 기존의 최소 테스트 생성 기법의 한계를 정확히 짚어낸다. 핵심 아이디어는 “동등 구조 탐색”이다. 논리 함수는 동일하지만 AST(추상 구문 트리)의 연산자 순서·그룹화가 달라지면 로빈 규칙(Robin’s Rule)이 생성하는 최소 테스트 벡터가 달라진다. 따라서 논문은 다음과 같은 기술적 흐름을 제시한다.
-
AST 기반 동등식 변형: 입력 SBE를 파싱한 뒤, 교환법칙(∧,∨)과 결합법칙을 이용해 가능한 모든 구조 변형을 생성한다. 분배법칙은 폭발적 증가를 방지하기 위해 의도적으로 배제한다. 변형 과정에서 각 트리를 정규화하고 해시 기반 중복 제거를 수행해 탐색 공간을 효율적으로 제한한다.
-
예산‑제한 탐색: 변형 가능한 구조 수는 조건 수가 늘어날수록 급증한다. 이를 제어하기 위해 탐색 예산 K를 도입하고, K 이하의 변형만을 생성한다. 또한 “early‑stop” 옵션을 제공해 첫 번째 실행 가능한 최소 스위트를 찾는 즉시 탐색을 종료한다. 이는 산업 현장의 빠른 피드백 요구에 부합한다.
-
Robin’s Rule 적용: 각 변형된 SBE에 대해 결정론적 로빈 규칙을 적용한다. 로빈 규칙은 N개의 조건을 가진 SBE에 대해 반드시 N+1개의 테스트 벡터를 생성한다는 이론적 최소성을 보장한다. 구조가 달라지면 독립성 쌍을 형성하는 조건‑조합이 달라져, 원래 스위트에서 불가능했던 벡터가 사라질 가능성이 생긴다.
-
제약 필터링 및 비용 기반 랭킹: 생성된 각 스위트에 대해 도메인 제약 함수 Feasible(v)를 호출해 실행 가능성을 검사한다. 모든 벡터가 Feasible이면 즉시 반환한다. 다수의 후보가 존재할 경우, 설정 비용, 오라클 복잡도, 실행 시간 등 실용적인 비용 모델을 적용해 최적의 스위트를 선택한다.
-
Fallback Repair: 예산 K 내에서 완전한 N+1 스위트를 찾지 못할 경우, 부분적으로 실행 가능한 스위트를 반환하고, 누락된 독립성 쌍을 보완하기 위한 최소 추가 테스트 집합을 제안한다. 이는 “최소·실현 가능·비용 효율”이라는 산업적 트레이드오프를 만족한다.
실험에서는 TCAS‑II 의사결정 로직을 사례로 들어, 원본 SBE에서 불가능한 벡터가 포함된 경우 로빈 규칙이 100% 커버리지를 깨뜨리는 상황을 재현한다. 이후 EQ Robin이 구조 변형을 통해 동일 논리이지만 다른 최소 스위트를 찾아, 제약을 모두 만족하면서도 N+1 테스트 수를 유지함을 보인다. 논문은 또한 다양한 제약 시나리오(예: 특정 센서 조합 금지, 고비용 설정)에서의 자동화된 탐색 효율성을 정량적으로 평가한다.
이러한 접근은 기존의 제약‑통합 모델 체킹이나 BDD 기반 선택 기법이 갖는 높은 연산 비용·불투명성 문제를 회피하면서도, 최소 테스트 수 보장을 유지한다는 점에서 실무 적용 가능성이 크다. 특히 “구조 변형 = 설계 선택”이라는 관점을 도입함으로써, 테스트 자동화 파이프라인에 새로운 설계 자유도를 제공한다는 점이 혁신적이다.
댓글 및 학술 토론
Loading comments...
의견 남기기