컴파일러 최적화 검증
실행 파일이 더 작아지거나 빨라졌더라도 코드의 의미가 달라지면 올바른 최적화가 아니다. Alive2는 원래 표현과 변환된 표현의 관계를 분석한다. 단순히 두 코드의 문자열이나 명령 수를 비교하는 방식과는 목적이 다르다.
도구 구성
독립 실행형 alive-tv 외에 Clang과 LLVM opt에 연결하는 변환 검증 도구가 있다. 기호 실행기와 LLVM 표현을 자체 표현으로 바꾸는 계층도 포함한다. 사용 경로에 따라 필요한 LLVM 빌드 조건과 도구 버전을 맞춰야 한다.
함수 사이 변환의 한계
Alive2는 함수 간 최적화 변환을 지원하지 않는다고 안내한다. 이런 패스에 적용하면 실제 오류가 아닌 반례가 나올 수 있다. 결과를 평가할 때는 실행한 패스와 변환 종류를 확인하고 지원 범위를 벗어난 판정을 그대로 결함으로 단정하지 않는다.