1. 소스코드 품질분석 도구
- 소스코드 품질분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구로, 정적 분석도구와 동적 분석도구로 구분한다.
2. 정적 분석도구
- pmd, cppcheck, SonarQube, checkstyle, ccm, cobertuna
도구 | 설명 | 지원환경 |
pmd | 소스 코드에 대한 미사용 변수, 최적화되지 않은 결함을 유발할 수 있는 코드 검사 | Linux, Windows |
cppcheck | C/C++ 코드에대한 메모리 누수, 오버플로 분석 | Windows |
SonarQube | 중복코드, 복잡도, 코딩설계 등을 분석 | Cross-Platform |
checkstyle | - 자바 코드 표준 검사 - 다양한 개발도구에 통합 사용 가능 |
Cross-Platform |
ccm | 다양한 언어의 복잡도 분석 | Cross-Platform |
cobertuna | 자바 언어의 소스코드 복잡도 분석 및 테스트 커버리지 측정 | Cross-Platform |
3. 동적 분석도구
- Avalanche, Valgrind
도구 | 설명 | 지원환경 |
Avalanche | - Valgrind 프레임워크 및 STP 기반 구현 - 프로그램의 결함 및 취약점 분석 |
Linux, Android |
Valgrind | 프로그램의 메모리 및 쓰레드 결함 분석 | Cross-Platform |
정보처리기사 필기 기출문제
39. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은? ③ [정답률: 61%] 정보처리기사(2020년 이후) 필기 (2020년 1회·2회 통합 기출문제) |
|
① pmd | |
② cppcheck | |
③ valMeter | 정적 분석 도구 - pmd, cppcheck, SonarQube, checkstyle, ccm, cobertuna |
④ checkstyle |
23. 소스코드 품질분석 도구 중 정적분석 도구가 아닌 것은? ③ [정답률: 72%] 정보처리기사(2020년 이후) 필기 (2020년 4회 기출문제) |
|
① pmd | |
② checkstyle | |
③ valance | 정적 분석 도구 - pmd, cppcheck, SonarQube, checkstyle, ccm, cobertuna |
④ cppcheck |