초기화 여부의 추적
메모리 주소가 유효한지만으로 값이 올바르게 준비됐는지 알 수는 없다. MemorySanitizer는 초기화되지 않은 메모리를 사용하는 문제를 동적으로 탐지하는 데 초점을 맞춘다.
그림자 정보의 전파
실행 중 비트 단위로 정밀한 그림자 메모리를 사용한다. 초기화하지 않은 메모리를 단순히 복사하는 과정에서 불필요한 오탐이 생기지 않도록 그림자 정보를 전파한다.
값의 출처를 함께 보고하기
선택적인 출처 추적 모드는 문제의 메모리가 어디서 왔는지 더 자세한 보고를 제공한다. 지역 변수 이름과 중간 저장을 포함한 이력을 보여 주어 원인을 따라가는 데 도움을 준다.
추가 정보와 실행 비용
출처 추적을 켜면 더 자세한 정보를 얻는 대신 추가 비용이 든다. 초기 연구는 큰 규모에 도구를 적용한 경험과 컴파일 계측이 동적 바이너리 계측에 비해 갖는 이점을 분석했다.
관련 문서
ThreadSanitizer / AddressSanitizer / UndefinedBehaviorSanitizer / libFuzzer / 소프트웨어 테스트 / 디버깅