정적 프로그램 분석

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

정적 프로그램 분석(Static Code Analysis)은 컴퓨터 소프트웨어를 분석하는 방법 가운데 하나로 그 소프트웨어로부터 만들어진 프로그램을 실제로 실행해보지 않고 분석하는 방법이다. (프로그램을 실행해보고 분석하는 방법은 동적 프로그램 분석이다). 대부분의 경우 원시 코드의 형태를 가지고 분석을 수행하지만 목적 코드의 형태를 가지고 분석하는 경우도 있다. 일반적으로 사람이 어느 정도 프로그램에 대한 이해를 바탕으로 자동화된 도구를 이용해서 분석하는 것을 정적 프로그램 분석이라고 부른다.

분석의 복잡한 정도는 도구에 따라서 각각의 명령문과 선언문을 분석하는 것부터 프로그램의 원시코드 전체를 포함해 분석하는 것까지 다양하다. 분석된 정보를 이용하는 것 또한 있음직한 코딩 에러를 표시해주는 것부터 프로그램이 어떤 속성을 만족하는지 수학적으로 증명하는 정형분석법까지 (예: 프로그램의 행동과 주어진 명세에 맞는지 검사) 다양하다.

소프트웨어 계량역공학을 정적 프로그램 분석의 한 종류로 보는 견해도 있다.

safety-critical 컴퓨터 시스템과 잠재적으로 취약한 코드를 찾아내기 위해 정적 분석의 상업적 이용이 늘어나고 있다.

함께 보기[편집]

바깥 고리[편집]