소스코드 품질 분석
From CS Wiki
Source Code Quality Analysis; Source Code Quality Assurance; Source Code Quality Metric;
소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위한 과정
- 정적 분석과 동적 분석으로 구분
정적 분석
- 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석
- 비교적 애플리케이션 개발 초기의 결함을 찾는데 사용되고, 개발 완료 시점에서는 개발된 소스 코드의 품질을 검증하는 차원에서 사용
- 동적 분석 도구로는 발견하기 어려운 결함을 찾아내고, 소스 코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석 가능
분석 도구
pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등
도구 | 설명 | 지원 환경 |
---|---|---|
Pmd | 소스 코드에 대한 미사용 변수, 최적화되지 않은 코드 등 결함을 유발할 수 있는 코드를 검사 | Linux, Windows |
cppcheck | C/C++ 코드에 대한 메모리 누수, 오버플로우 등 분석 | Windows |
SonarQube | 중복코드, 복잡도, 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼 | Cross-Platform |
checkstyle | - 자바 코드에 대한 소스 코드 표준을 따르고 있는지 검사
- 다양한 개발 도구에 통합하여 사용 가능 |
Cross-Platform |
동적 분석
작성한 소스 코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석
분석 도구
- Avalanche
- Valgrind