Louie NRT Story

[SW Engineer] 정적분석과 동적분석 본문

서버시스템

[SW Engineer] 정적분석과 동적분석

hyeok0724.kim@gmail.com 2019. 1. 21. 21:27
반응형

정적분석과 동적분석를 정리해보고자 한다.


정적분석

간략한 분류

 - 블랙박스: 소스코드와 실행이 없이 테스트 하는 방법으로 개발 명세서의 완결성, 정확성, 일관성 등을 확인

 - 화이트박스: 소스코드만 보고 실행 없이 테스트하는 방법으로 정적, 분석도구 등을 사용해 프로그램 상의 치명적 오류 검출


수동 검사

직접 사람이 코드를 보며 검사하는 것임

코드리뷰가 대표적임(비공식리뷰, 워크쓰루, 기술적리뷰, 인스펙션)


자동검사

Syntax : 문법적 오류(규칙을 정해놓고 검사함)

ex) 변수 선언전 쓰이지 않았는가? 같은 함수 또는 변수 명이 존재하는가?


런타임에러

- 배열에 할당된 크기를 넘어서 접근했을 때

- 전역 배열의 크기가 메모리 제한을 초과할 때

- 지역 배열의 크기가 스택 크기 제한을 넘어갈 때

- 0으로 나눌 떄

- 라이브러리에서 예외를 발생시켰을 때

- 재귀 호출이 너무 깊어질 때

- 이미 해제된 메모리를 또 참조할 때


정적분석툴

 - Sparrow, Coverity 등



동적분석

간략한 분류

 - 블랙박스: 소스코드 없이 실행만으로 테스트 하는 방법으로 테스트케이스를 만들고 기대하는 결과값을 산출 후

                 해당 테스트케이스에 대해 기대하는 값이 계산되는지 확인

 - 화이트박스: 소스코드를 가지고 실행하여 테스트하는 방법으로 디버깅, 유닛 테스트 및 스크립트를 통해 자동실행 테스트 등이 이에 속함


TDD(테스트 주도 개발)이 여기에 속함


[Reference] 

 - wikipedia.org

 - cswoo.tistory.com/


반응형

'서버시스템' 카테고리의 다른 글

[Cloud_Training] Pipeline & ElasticSearch Project  (0) 2019.01.25
[SW Engineer] DevOps Engineer  (0) 2019.01.21
[Cloud_Class] 190116_CodePipeline  (0) 2019.01.16
[Cloud_Class] 190111_VPC_makeEasily  (0) 2019.01.16
[Cloud_Class] 190111_KMS  (0) 2019.01.16
Comments