A Way of Avoiding Spurious Paths in Interprocedural Static Analysis

함수 호출을 구별하는 분석에서 가짜 경로를 없애는 한 방법

  • Heo, Ki-Hong (Programming Research Laboratory School of Computer Science & Engineering Seoul National University) ;
  • Oh, Hak-Joo (Programming Research Laboratory School of Computer Science & Engineering Seoul National University) ;
  • Yi, Kwang-Keun (Programming Research Laboratory School of Computer Science & Engineering Seoul National University)
  • 허기홍 (서울대학교 컴퓨터공학부 프로그래밍 연구실) ;
  • 오학주 (서울대학교 컴퓨터공학부 프로그래밍 연구실) ;
  • 이광근 (서울대학교 컴퓨터공학부 프로그래밍 연구실)
  • Published : 2011.06.29

Abstract

함수 호출 문맥을 요약하는 프로그램 분석은 가짜 경로 문제로 인해 심각한 성능저하를 겪기 마련이다. 이는 함수 호출 문맥이 요약되면서 분석 정보를 어디로 흘려보내야 할지 정확히 알 수 없는 경우가 생기기 때문이다. 이 논문에서는 함수 호출을 구변하는 분석에서 가짜 경로를 없애는 새로운 알고리즘을 설명한다. 분석 순서를 프로그램의 실제 실행과 비슷하게 제한하고 알고리즘의 일부를 조금 바꾸면 재귀 함수가 아닌 경우 가짜 경로를 모두 제거할 수 있다. 이 방식은 기존 방식과 같거나 더 정확한 결과를 내고 속도는 훨씬 빠르다.

Keywords

Acknowledgement

Supported by : 한국연구재단