어셈블리어 코드 기반의 메모리 오류 가능성 검출

Detection of Potential Memory Access Errors based on Assembly Codes

초록

메모리 사용에 관련한 오류는 해당 프로그램뿐 아니라 시스템의 오작동을 유발할 수 있다. 특히 발생 빈도가 매우 낮은 일부 메모리 오류의 경우 제대로 된 동작 테스트를 할 수 없어, 오류에 대한 파악 및 수정이 힘들다. 이에 본 논문에서는 실행 프로그램을 역어셈블(Dis-Assemble)하여 만들어진 어셈블리어 코드를 구문 분석하여 명령어 전이도를 도출하고 이에 기반을 두어 메모리 사용 오류 가능성을 검출하는 방법을 제안하였다. 몇 가지 프로그램을 검사대상으로 선정하여 Local Memory Return Error, Null Pointer Access Error, Uninitialized Pointer Access Error를 검출하였으며 그 중 오픈 소스 프로젝트(Open Source Project)인 아파치 웹 서버와 PHP 스크립트 해석기에서도 메모리 사용 오류의 가능성이 있는 코드가 검출되었다.

키워드

함수 포인터 오류 검출; 정적 프로그램 분석; 상태 전이도; 어셈블리어 기반 분석; Detection Of Function Pointer Error; Static Program Analysis; State Transition Diagram; Analysis Based On Assembly Code; Detection Of Function Pointer Error; Static Program Analysis; State Transition Diagram; Analysis Based On Assembly Code
제목
어셈블리어 코드 기반의 메모리 오류 가능성 검출
제목 (타언어)
Detection of Potential Memory Access Errors based on Assembly Codes
저자
김현수; 김병만; 배현섭; 정인상
발행일
2011
저널명
정보처리학회논문지D
권
18
호
1
페이지
35 ~ 44