An Algorithm to Insert Safe Deallocations for Efficient Memory Usage

효율적인 메모리 사용을 위한 free 명령어 삽입 알고리즘

  • 이욱세 (한국과학기술원 전자전산학과 프로그램 분석 시스템 연구단)
  • Published : 2002.10.01

Abstract

메모리 반납(deallocation) 명령어는 프로그램에게 할당된 힙 셀(heap cell)을 반납하는 명령어로 힙 사용량을 낮추어 주지만, 잘못된 반납으로 인해 심각한 오류를 일으킬 수 있다. 본 논문에서는 재귀적인 자료구조(recursive data structure),를 안전하게 반납하는 명령어를 삽입하는 알고리즘을 제시한다. 메모리의 모양새를 분석하고 나중에 쓰이지 않을 힙 셀들을 추정하여 반납 명령어를 삽입한다. 분석시 요약 수준을 적절히 조절함으로써 빠르면서도 정확하게 분석한다. 또한, 실행시간에 부가적인 정보를 전달하여 일찍 힙 셀을 반납할 수 있도록 한다. 제시한 알고리즘으로 메모리 반납을 하지 않는 프로그램에 반납 명령어를 삽입하여 전체 메모리 할당량의 5.2-98.7%를 반납할 수 있었다.

Keywords