소스코드 품질 분석

From CS Wiki
Revision as of 10:00, 7 October 2021 by 보안기사 (talk | contribs) (새 문서: '''Source Code Quality Analysis; Source Code Quality Assurance; Source Code Quality Metric;''' 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

참고 문헌