1.코드 분석
코드 분석이란, 소스 코드를 통해 개발한 소프트웨어의 품질과 안정성, 보안성 등을 높이기 위한 과정으로,
이러한 코드 분석은 크게 두 가지로 구분됨
1. 정적 분석, Static Analysis
정적 분석이란 프로그램을 실행하지 않고, 소스 코드를 분석하는 기법으로,
구체적으로는 다음과 같은 항목들에 대해 소스 코드를 분석함
- 코드의 중복이 있는지?
- 선언 후 사용하지 않는 코드가 있는지?
- 정한 규칙대로 코드 스타일을 준수하였는지?
- 작성한 코드에 보안 취약점이 없는지?
- 테스트 코드 커버리지 등
이를 통해 개발 및 빌드 과정에서 코드의 퀄리티를 높일 수 있음
1-1. 대표적인 정적 분석 도구
대표적인 정적 분석 도구로는 ESLint 와 SonarQube 등이 있음
2. 동적 분석, Dynamic Analysis
동적 분석이란 프로그램을 실제로 실행시키고, 실행 중인 과정에서 프로그램의 동작을 관찰하면서 분석하는 기법으로,
다음과 같은 항목들에 대해 분석을 수행할 수 있음
- 실행 중인 프로그램의 메모리 사용량, 성능, 예외, 보안 취약점
이를 통해 프로그램이 실제 실행되는 과정에서 분석을 수행하기 때문에 정적 분석에서는 파악하기 어려운 버그나 문제를 발견하고 해결할 수 있음
2-1. 대표적인 동적 분석 도구
대표적인 동적 분석 도구로는 New Relic , App Dynamics 등이 있음
Last updated on