제어 흐름 분석

Control flow analysis

컴퓨터 과학에서 제어 흐름 분석(CFA)은 프로그램의 제어 흐름을 결정하는 정적 코드 분석 기법이다.제어 흐름은 제어 흐름 그래프(CFG)로 표현된다.기능 프로그래밍 언어와 객체 지향 프로그래밍 언어 모두에 대해, CFA라는 용어와 k-CFA와 같은 상세한 설명은 제어 흐름을 계산하는 특정 알고리즘을 참조한다.[dubious ]

많은 필수 프로그래밍 언어의 경우 프로그램의 제어 흐름은 프로그램의 소스 코드에 명시되어 있다.[dubious ]그 결과, 절차간 제어 흐름 분석은 일반적으로 고차 프로그래밍 언어로 작성된 컴퓨터 프로그램에서 기능이나 방법 호출의 수신자를 결정하기 위한 정적 분석 기법을 암시적으로 말한다.[dubious ]예를 들어, Scheme과 같이 고차 함수를 가진 프로그래밍 언어에서 함수 호출의 대상은 명시적이지 않을 수 있다: 격리된 표현에서

(람다(f) (f x)) 

어떤 절차를 밟았는지는 불분명하다.f언급할 수도 있다제어 흐름 분석은 이 식이 호출될 수 있는 위치와 가능한 대상을 결정하기 위해 어떤 인수를 받을 수 있는지 고려해야 한다.

제어 흐름 분석에는 추상 해석, 구속조건 해결유형 시스템과 같은 기법을 사용할 수 있다.[1][page needed]

참고 항목

참조

  1. ^ Nielson, Flemming; Nielson, Hanne Riis; Hankin, Chris (2005). Principles of Program Analysis. Springer Science+Business Media.

외부 링크