포인터 분석
위키백과 ― 우리 모두의 백과사전.
컴퓨터 과학에서 포인터 분석(pointer analysis, points-to analysis)은 어떤 포인터 혹은 힙 참조가 어느 변수 또는 저장 장소를 가리키는지 분석하는 정적 프로그램 분석 방법이다. 이는 종종 escape analysis와 같은 더 복잡한 분석의 한 구성요소로 사용되기도 한다.
[편집] 소개
아주 작은 프로그램들이 아닌 어느정도 크기가 있는 프로그램에 대해서 포인터 분석을 하는 것은 매우 계산이 오래 걸리는 일이다. 이러한 높은 계산 비용을 줄이기 위해 다양한 단순화 방법을 적용한다. 단순화 방법들을 사용하면 포인터가 가리키는 객체들의 집합을 실제보다 크게 계산하는 문제가 있다.
아래와 같은 단순화 방법들이 있다.
- 구조화된 객체를 가리키는 모든 참조를 하나의 객체로 다룬다.
- 문맥 무시 포인터 분석 또는 흐름 무시 포인터 분석이라고 부르는 방법으로 프로그램의 실행 경로를 무시하고 분석한다.
[편집] 알고리즘
Andersen 알고리즘
이진 의사결정 다이어그램(Binary Decision Diagram)
[편집] 함께 보기
- Alias analysis
- Escape analysis
- 모양 분석