소프트웨어 개발
핵심153
소스 코드 품질 분석 도구
출제 빈도
6회
원본 44~45쪽
소스 코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구로, 크게 정적 분석 도구와 동적 분석 도구로 나뉜다.
• 정적 분석 도구
- 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코
딩 스타일, 결함 등을 확인하는 코드 분석 도구이다.
- 비교적 애플리케이션 개발 초기의 결함을 찾는데 사
용되고, 개발 완료 시점에서는 개발된 소스 코드의 품질을 검증하는 차원에서 사용된다.
- 자료 흐름이나 논리 흐름을 분석하여 비정상적인 패
턴을 찾을 수 있다.
- 동적 분석 도구로는 발견하기 어려운 결함을 찾아내
고, 소스 코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석할 수 있다.
- 종류 : pmd, cppcheck, SonarQube, checkstyle,
ccm, cobertura 등
• 동적 분석 도구
- 작성한 소스 코드를 실행하여 코드에 존재하는 메모
리 누수, 스레드 결함 등을 분석하는 도구이다.
- 종류 : Avalanche, Valgrind 등