[자격증]/정보처리기사 실기

1450810 소스 코드 품질 분석 도구

Ben의 프로그램 2023. 9. 23. 18:03
728x90

핵심 Keyword

1. 소스 코드 품질 분석 도구

2. 정적 분석 도구, 동적 분석 도구 


소스 코드 품질 분석 도구
소스 코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구이다. 

( Static Analysis ) 도구는 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석 도구이다.

( Dynamic Analysis ) 도구는 소스 코드를 직접 실행하여 프로그램의 동작이나 반응을 추적하고 보고하는 분석 도구로, 프로그램 모니터링 기능이나 스냅샷 생성 기능들을 포함하고 있다. 

 

소스 코드 품질 분석 도구란?
'소스 코드 품질 분석 도구'는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구로, 정적 분석 도구와 동적 분석 도구로 나뉨. 

정적 분석 도구에는 pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등이 있습니다. 동적 분석 도구에는 Avalanche, Valgrind 등이 있습니다.

 

pmd 소스 코드 품질 분석 도구 - 정적 분석 도구
pmd 는 소스 코드에 대한 미사용 변수, 최적화되지 않은 코드 등 결함을 유발할 수 있는 코드를 검사합니다. Linux, Windows 에서 지원합니다.

 

cppcheck 소스 코드 품질 분석 도구 - 정적 분석 도구
C/C++ 코드에 대한 메모리 누수, 오버플로우 등을 분석합니다. Windows 환경을 지원합니다.

 

SonarQube 소스 코드 품질 분석 도구 - 정적 분석 도구
중복 코드, 복잡도, 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼입니다. Cross-Platform 환경을 지원합니다.

 

checkstyle 소스 코드 품질 분석 도구 - 정적 분석 도구
자바 코드에 대해 소스 코드 표준을 따르고 있는지 검사합니다. 다양한 개발 도구에 통합하여 사용 가능합니다. Cross-Platform 환경을 지원합니다. 

 

ccm 소스 코드 품질 분석 도구 - 정적 분석 도구
다양한 언어의 코드 복잡도를 분석함. Cross-Platform 환경을 지원합니다. 

 

cobertura 소스 코드 품질 분석 도구 - 정적 분석 도구
자바 언어의 소스 코드 복잡도 분석 및 테스트 커버리지를 측정합니다. Cross-Platform 환경을 지원합니다. 

 

Avalanche 소스 코드 품질 분석 도구 - 동적 분석 도구
Valgrind 프레임워크 및 STP 기반으로 구현됩니다. 프로그램에 대한 결합 및 취약점 등을 분석합니다. Linux, Android 환경을 지원합니다.

 

Valgrind 소스 코드 품질 분석 도구 - 동적 분석 도구
프로그램 내에 존재하는 메모리 및 쓰레드 결함 등을 분석합니다. Cross-Platform 을 지원합니다.