소스코드 품질 분석: 두 판 사이의 차이

IT위키
(새 문서: '''Source Code Quality Analysis; Source Code Quality Assurance; Source Code Quality Metric;''' 소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡...)
 
편집 요약 없음
 
3번째 줄: 3번째 줄:
소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위한 과정  
소스 코드의 코딩 스타일, 코드에 설정된 코딩 표준, 코드의 복잡도, 코드에 존재하는 메모리 누수 현상, 스레드 결함 등을 발견하기 위한 과정  


* 정적 분석과 동적 분석으로 구분
*정적 분석과 동적 분석으로 구분


== 정적 분석 ==
==정적 분석==


* 작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석
*작성한 소스 코드를 실행하지 않고 코딩 표준이나 코딩 스타일, 결함 등을 확인하는 코드 분석
* 비교적 애플리케이션 개발 초기의 결함을 찾는데 사용되고, 개발 완료 시점에서는 개발된 소스 코드의 품질을 검증하는 차원에서 사용
*비교적 애플리케이션 개발 초기의 결함을 찾는데 사용되고, 개발 완료 시점에서는 개발된 소스 코드의 품질을 검증하는 차원에서 사용
* 동적 분석 도구로는 발견하기 어려운 결함을 찾아내고, 소스 코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석 가능
*동적 분석 도구로는 발견하기 어려운 결함을 찾아내고, 소스 코드에서 코딩의 복잡도, 모델 의존성, 불일치성 등을 분석 가능


==== 분석 도구 ====
====분석 도구====
pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등
pmd, cppcheck, SonarQube, checkstyle, ccm, cobertura 등
{| class="wikitable"
{| class="wikitable"
37번째 줄: 37번째 줄:
|}
|}


== 동적 분석 ==
==동적 분석==
작성한 소스 코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석
작성한 소스 코드를 실행하여 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석


==== 분석 도구 ====
====분석 도구====


* Avalanche
*Avalanche
* Valgrind
*Valgrind


== 참고 문헌 ==
== 같이 보기 ==


* 블로그 https://inreve.tistory.com/20
* [[소프트웨어 테스트]]
* [[소프트웨어 품질]]
* [[소프트웨어 품질 평가]]
* [[정적 테스트]]
 
==참고 문헌==
 
*블로그 https://inreve.tistory.com/20

2021년 10월 8일 (금) 00:00 기준 최신판

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

같이 보기[편집 | 원본 편집]

참고 문헌[편집 | 원본 편집]