A General Framework for Sparse Analysis

필요한 정보만 가지고 필요한 지점만 분석하는 일반적인 방법

  • Ko, Yoon-Seok (Programming Research Lab, Seoul National University) ;
  • Oh, Hak-Joo (Programming Research Lab, Seoul National University) ;
  • Heo, Ki-Hong (Programming Research Lab, Seoul National University) ;
  • Yi, Kwang-Keun (Programming Research Lab, Seou)
  • 고윤석 (서울대학교 프로그래밍 연구실) ;
  • 오학주 (서울대학교 프로그래밍 연구실) ;
  • 허기홍 (서울대학교 프로그래밍 연구실) ;
  • 이광근 (서울대학교 프로그래밍 연구실)
  • Published : 2011.06.29

Abstract

명령형 언어로 작성된 프로그램에 대한 정적 분석을 효과적으로 수행하는 방법을 제시한다. 흐름을 고려하면서 분석 할 때, 일부의 계산만이 분석 결과를 만들어내는 데 이바지한다. 주어진 입력 메모리로 어떤 명령문을 계산할 때 입력 메모리의 일부만 계산에 사용하고, 계산의 결과는 입력 메모리에서 일부만 변경된 값이기 때문이다. 또한, 변경된 값이 다시 계산에 사용되기까지 불필요한 값의 전달을 수반한다. 이 논문에서는 가벼운 전분석을 통해 불필요한 계산들을 미리 찾아내어 계산에서 제외하는 방법을 제시한다. 상용화된 요약해석 기반 분석기에 이 기법을 적용하고 10개의 오픈 소스 프로그램에서 실험한 결과 분석속도가 평균 65배 빨라졌다. 또한, 최근에 제안된 필요한 정보만 가지고 계산하기 기법을 적용한 결과에 비해서도 분석속도가 평균 16배 빨라졌다.

Keywords

Acknowledgement

Supported by : 한국연구재단