Key points are not available for this paper at this time.
초록 배열 하위 스크립트와 포인터 경계에 대한 런타임 검사가 휴대용 C 컴파일러(PCC)에 추가되었다. 메모리 덮어쓰기 버그는 나중에 프로그램 실행 중에 덮어쓴 메모리가 사용될 때가 아니라 발생할 때 포착된다. 런타임 검사 컴파일러는 코어 덤프의 진정한 원인을 찾고 예기치 않은 프로그램 동작의 원인으로서 런타임 오류를 제거하는 데 사용된다. 평균적으로 컴파일하는 데 약 40% 더 오랜 시간이 걸리고, 생성된 코드는 약 3배 크며, 실행 속도는 약 10배 느리다. 이 성능은 느리게 보일 수 있지만 일반적으로 수일 간의 디버깅을 한 시간 미만으로 줄인다. 여기에서 설명하는 구현은 중간 표현 트리를 변경하여 머신/컴파일러 독립적인 방식으로 런타임 검사 코드를 생성하는 방법을 설명하므로 모든 C 컴파일러에 적용할 수 있다. 4년간 사용하면서 수천 명이 사용하는 프로그램에서 잠재적 버그와 간헐적 코어 덤프의 원인을 발견했다.
Joseph L. Steffen (수요일)은 이 질문을 연구하였다.