일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- raspberry
- 라즈베리파이
- YMODEM
- 디자인패턴
- STM32
- IOT Core
- 보안
- 펌웨어
- flask
- 전기차충전
- Android
- 전기차충전기
- esp8266
- everon
- thread
- 홈어시스턴트
- 충전기
- 급속충전기
- dynamodb
- 전기차
- 에버온
- AWS
- 파이썬
- 안드로이드
- homeassistant
- OCPP
- 완속충전기
- lambda
- 서버리스
- 플라스크
Archives
- Today
- Total
Louie NRT Story
[SW Engineer] 정적분석과 동적분석 본문
반응형
정적분석과 동적분석를 정리해보고자 한다.
정적분석
간략한 분류
- 블랙박스: 소스코드와 실행이 없이 테스트 하는 방법으로 개발 명세서의 완결성, 정확성, 일관성 등을 확인
- 화이트박스: 소스코드만 보고 실행 없이 테스트하는 방법으로 정적, 분석도구 등을 사용해 프로그램 상의 치명적 오류 검출
수동 검사
직접 사람이 코드를 보며 검사하는 것임
코드리뷰가 대표적임(비공식리뷰, 워크쓰루, 기술적리뷰, 인스펙션)
자동검사
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