본문 바로가기
정보처리기사 필기/[2과목] 소프트웨어 개발

[정보처리기사] 소스코드 품질분석도구 정적 동적

by Devinus 2021. 3. 3.

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