표식을 따라 관찰
입력이나 관심 있는 값에 표식을 붙이고 계산 결과에 어떤 표식이 남았는지 확인한다. 데이터 흐름에 따라 표식이 전파되는 방식을 이용해 응용에 맞는 정책을 검사할 수 있다. 어떤 흐름이 잘못되었는지를 결정하는 정책은 별도로 설계해야 한다.
계측과 함수 경계
관련 코드를 계측하거나 계측하지 않는 함수의 동작을 ABI 목록에 설명해야 한다. 외부 함수와 라이브러리 경계에서 표식 전파가 부정확하면 분석 결과도 달라진다. 단순히 컴파일 옵션을 켰다는 사실만으로 모든 데이터 흐름이 정확하게 추적되지는 않는다.
동적 분석의 범위
실제로 실행한 경로에서 전달된 표식을 관찰한다. 실행되지 않은 경로와 지원하지 않는 연산의 영향을 함께 고려해야 한다. 메모리 접근 오류나 초기화되지 않은 값 검사를 자동으로 대체하는 도구와는 목적이 다르다.
관련 문서
MemorySanitizer / AddressSanitizer / SanitizerCoverage / Clang