위키득계정 ↗
기술

C-Reduce

C-Reduce기술
분류
테스트 입력 축소기
주요 대상
C와 C플러스플러스
입력
재현 코드와 판정 테스트
목적
문제를 유지한 코드 축소
C-Reduce는 특정 현상을 유지하면서 C와 C플러스플러스 프로그램을 작게 줄이는 도구다. 컴파일러 오류 같은 문제를 간결한 재현 코드로 정리하는 데 활용한다.

남겨야 할 조건

축소의 기준은 사용자가 제공하는 판정 테스트다. 도구는 코드를 바꾼 뒤에도 원하는 현상이 나타나는지 확인하며 불필요한 부분을 제거한다. 파일이 작아지는 것보다 같은 문제를 계속 재현하는 것이 우선이다.

판정의 정확성

아무 컴파일 실패나 성공으로 받아들이면 원래 오류 대신 단순한 문법 오류만 남을 수 있다. 조사하려는 진단이나 출력 차이를 구체적으로 확인해야 한다. 실행이 불안정하면 같은 후보의 판정도 흔들리므로 재현 조건을 먼저 정리한다.

독립된 실행 환경

각 판정은 축소 중인 파일의 복사본이 있는 새 임시 디렉터리에서 실행된다. 추가 파일이 필요한 테스트는 경로와 준비 방법을 명확히 해야 한다. 최종 결과도 원래 현상을 유지하는지 다시 확인한 뒤 오류 보고에 활용한다.

관련 문서

Cvise / Csmith / Yarpgen / Clang