커널 분석 도구의 개발

운영체제 커널과 같은 큰 프로그램을 분석하고 이해하는 작업은 많은 시간과 노력을 필요로 한다. UNIX 환경에서 제공되는 기존의 프로그램 분석 도구는 프로그램 상의 심볼(symbol)들에 대한 액세스 정보를 제공함으로써 프로그램 이해에 많은 도움을 주고 있지만 포인터 변수를 통한 간접적인 자료구조 액세스는 분석하지 못하고 있다. 본 논문에서 제시한 코드 분석 지원 도구인 analyc은 주어진 C 프로그램을 분석하여 화일, 함수, 타입, 변수등에 대한 정보를 생성해 내고 그들 간의 포함 관계 및 호출 관계를 자동적으로 검출하도록 설계되었다. Analyc은 자료구조에 대한 직접 액세스 뿐만 아니라 간접 액세스도 분석할 수 있어, UNIX 커널의 이식과 같은 간접 액세스 분석이 큰 비중을 차지하는 작업에 유용하게 사용될 수 있다.