Data-flow Analysis for Finding Null-assignable Fields in Java

자바에서의 Null을 할당할 수 있는 필드를 찾기 위한 데이터 흐름 분석

  • Kim Min-Kyoon (Dept. of Electronic Engineering and Computer Science, KAIST) ;
  • Lee Suk-Hee (Dept. of Electronic Engineering and Computer Science, KAIST) ;
  • Kwon Yong-Rae (Dept. of Electronic Engineering and Computer Science, KAIST)
  • 김민균 (한국과학기술원 전자전산학과) ;
  • 이숙희 (한국과학기술원 전자전산학과) ;
  • 권용래 (한국과학기술원 전자전산학과)
  • Published : 2006.06.01

Abstract

이 논문에서는 자바 프로그램이 실행 중에 사용하는 힙(heap)의 크기를 줄일 수 있는 데이터 흐름 분석 기법을 제안한다. 이 알고리즘은 클래스를 분석하여 사용될 때마다 새로 정의되는 필드(field)들을 찾는다. 이 필드의 마지막 사용 후에 null 값을 필드에 할당하면 필드가 가리키고 있던 객체를 더욱 빨리 회수할 수 있게 되고, 이로 인해 객체들이 차지하는 힙 공간을 줄일 수 있다. 이 알고리즘은 private 필드만을 대상으로 분석을 수행한다. 우리의 궁극적인 목표는 이 알고리즘을 확장하여 모든 필드들을 분석하고, 힙 사용량을 줄이기 위해 null을 할당하도록 바이트 코드를 자동으로 수정하는 기법을 개발하는 것이다.

Keywords