Skip to Content
Suffering builds character
아카이브25.devopsSonarQube개요1.코드 분석

1.코드 분석

코드 분석이란, 소스 코드를 통해 개발한 소프트웨어의 품질과 안정성, 보안성 등을 높이기 위한 과정으로,

이러한 코드 분석은 크게 두 가지로 구분됨

1. 정적 분석, Static Analysis

정적 분석이란 프로그램을 실행하지 않고, 소스 코드를 분석하는 기법으로,

구체적으로는 다음과 같은 항목들에 대해 소스 코드를 분석함

  • 코드의 중복이 있는지?
  • 선언 후 사용하지 않는 코드가 있는지?
  • 정한 규칙대로 코드 스타일을 준수하였는지?
  • 작성한 코드에 보안 취약점이 없는지?
  • 테스트 코드 커버리지 등

이를 통해 개발 및 빌드 과정에서 코드의 퀄리티를 높일 수 있음

1-1. 대표적인 정적 분석 도구

대표적인 정적 분석 도구로는 ESLint 와 SonarQube  등이 있음

2. 동적 분석, Dynamic Analysis

동적 분석이란 프로그램을 실제로 실행시키고, 실행 중인 과정에서 프로그램의 동작을 관찰하면서 분석하는 기법으로,

다음과 같은 항목들에 대해 분석을 수행할 수 있음

  • 실행 중인 프로그램의 메모리 사용량, 성능, 예외, 보안 취약점

이를 통해 프로그램이 실제 실행되는 과정에서 분석을 수행하기 때문에 정적 분석에서는 파악하기 어려운 버그나 문제를 발견하고 해결할 수 있음

2-1. 대표적인 동적 분석 도구

대표적인 동적 분석 도구로는 New Relic , App Dynamics  등이 있음

Last updated on