잘못된 코드와 실행 결과
메모리 배치와 할당 방식을 바꾸면 같은 오류의 영향도 달라질 수 있다. DieHard는 이런 특성을 이용해 일부 메모리 오류가 실패로 이어질 가능성을 줄이려는 시스템이다. 오류 원인이 코드에서 제거되었다는 뜻과는 구분해야 한다.
관련 시스템의 차이
같은 배포에는 신뢰성을 겨냥한 DieHard 외에 보안 강화를 지향하는 DieHarder와 통계적 오류 수정을 다루는 Exterminator가 포함된다. 이름이 함께 나온다고 기능과 가정을 같은 것으로 보아서는 안 된다. 실제 선택한 구현과 빌드 옵션을 확인한다.
실험과 적용 범위
특정 실행의 성공만으로 모든 메모리 오류가 안전하게 처리된다고 판단하지 않는다. 확률적 완화의 범위와 비용, 현재 소스의 플랫폼 지원을 확인한다. 검사 도구로 원인을 찾고 코드를 수정하는 과정과 방어적인 할당기 사용은 서로 보완하는 작업이다.