10 소스 코드 품질 분석 도구에 대한 다음 설명에서 괄호(①, ②)에 해당하는 용어를 <보기>에서 찾아 쓰시오.
| 소스 코드 품질 분석 도구는 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구이다. ㆍ( ① ) 도구는 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석 도구이다. ㆍ( ② ) 도구는 소스 코드를 직접 실행하여 프로그램의 동작이나 반응을 추적하고 보고하는 분석 도구로, 프로그램 모니터링 기능이나 스냅샷 생성 기능들을 포함하고 있다. |
<보기>
| ㆍStatic Analysis | ㆍRunning Analysis | ㆍTest Execution | ㆍPerformance |
| ㆍDynamic Analysis | ㆍTest Control | ㆍTest Harness | ㆍTest Monitoring |
답
더보기
① Static Analysis
② Dynamic Analysis
해설
<소스 코드 품질 분석 도구>
소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위해 사용하는 분석 도구로, 정적 분석 도구와 동적 분석 도구로 나뉨
| Static Analysis(정적 분석 도구) | - 작성한 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석 도구 - 종류: pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등 |
| Dynamic Analysis(동적 분석 도구) | - 작성한 코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석하는 도구 - 종류: Avalanche, Valgrind 등 |
| 정적 분석 도구 | ||
| pmd | 소스 코드에 대한 미사용 변수, 최적화되지 않은 코드 등 결함을 유발할 수 있는 코드를 검사함 | Linux, Window |
| cppcheck | C/C++ 코드에 대한 메모리 누수, 오버플로우 등 분석 | Windows |
| SonarQube | 중복 코드, 복잡도, 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼 | Cross-Platform |
| checkstyle | - 자바 코드에 대해 소스 코드 표준을 따르고 있는지 검사함 - 다양한 개발 도구에 통합하여 사용 가능함 |
Cross-Platform |
| ccm | 다양한 언어의 코드 복잡도를 분석함 | Cross-Platform |
| cobertura | 자바 언어의 소스 코드 복잡도 분석 및 테스트 커버리지를 측정함 | Cross-Platform |
| 동적 분석 도구 | ||
| Avalanche | - Valgrind 프레임워크 및 STP 기반으로 구현됨 - 프로그램에 대한 결함 및 취약점 등을 분석함 |
Linux, Android |
| Valgrind | 프로그램 내에 존재하는 메모리 및 쓰레드 결함 등을 분석함 | Cross-Platform |
'자격증 > 정보처리기사 실기 - 기출문제' 카테고리의 다른 글
| [정보처리기사 실기] 2022년 1회 12 - 프로그래밍 [C] (0) | 2025.07.19 |
|---|---|
| [정보처리기사 실기] 2022년 1회 11 - 인터페이스 구현 검증 도구 (1) | 2025.07.19 |
| [정보처리기사 실기] 2022년 1회 09 - 보안 프로토콜 (0) | 2025.07.19 |
| [정보처리기사 실기] 2022년 1회 08 - 프로그래밍 언어 [Python] (0) | 2025.07.19 |
| [정보처리기사 실기] 2022년 1회 07 - 프로그래밍 [Python] (0) | 2025.07.19 |