2017-12-11 3 views
0

최근 동적 인 언어 분석을 배우고 있습니다. static and dynamic code analysis과 같은 몇 가지 관련 질문을 읽었지만 여전히 몇 가지 질문이 있습니다.정적 유형 검사 시스템의 기능은 무엇입니까?

동적 분석은 컴파일 및 런타임 중에 발생할 수 있으며 프로그램 상태를 확인합니다. 동적 분석을 사용하면 원하지 않는 실행 단계를 피할 수 있습니다. 정적 분석은 종종 정적 유형 검사 시스템을 지칭하며 정적 분석은 실제 프로그램 동작을 정확하게 예측해야합니다. 정적 유형 시스템의 경우 할당 된 유형은 프로그램이 런타임에 평가할 수있는 모든 값을 설명해야 함을 의미합니다. 유형 검사기가 프로그램이 평가하는 모든 값을 설명하지 않는 프로그램에 유형을 지정하면 어떻게되는지 궁금합니다. 아무도 그 예를들 수 있습니까?

답변

0

정적으로 형식이 지정된 시스템에서는 대상의 형식과 호환되지 않는 형식 인 경우 값을 할당하거나 매개 변수로 전달할 수 없습니다. 그러나 대부분의 언어는 할당을 강제하는 방법을 제공하지만이 값은 대상의 형식과 호환되지 않습니다.

정적 유형의 언어에 대한 정적 유형 분석은 예측 적이 지 않습니다. 규범 적입니다.

그러나 정적 분석은 항상 true 또는 '거짓 조건을 통해 null 값을 통해 가능 액세스를 확인하거나 switch/case 문에 열거의 알 값을 처리하지, 또는 조건문처럼, 너무 예측 분석을 수행 할 수 있습니다 정적 분석으로 발견 할 수있는 많은 일반적인 프로그래밍 오류가 있습니다.

동적 유형 지정 언어의 정적 유형 분석도 가능합니다. type inference이라고합니다.