MISRA C/C++ 규칙을 강제하는 툴
다운로드해서 사용할 수 있는 평가판이 존재.
프로젝트 내 모든 소스 코드에 붙혀 사용가능, 그 위에서 코드 분석도 돌릴 수 있음.
소스 코드 분석의 unsigned 변환 같은 문제 리포트, 오버플로우, wraparound 문제, 확장성 문제 및 여러 가지 컴파일 리포트를 생성함
아래는 QAC와 QAC++에 대한 정리 글을 발췌해왔다.
QAC / QAC++ 는 정적 테스트 도구
Code Inspection으로 SW Coding 단계에서 잠재적 결함을 제거
Code Inspection 에는 Coding Rule Check, Fault Detection 등 존재
QA∙C/C++ 은 Coding Rule 체크의 범주에 속한다.
즉 QAC / QAC++ 은 기능 검증 X
Coding Rule Check 의 종류에는
- 명명규칙, 코딩스타일, 연산자 사용 규칙, 호환성 규칙, 오류 규칙 등이 있다
* 명명 규칙 - 명명이 가능한 Identifier (식별자)의 이름 짓는 규칙
* 코딩 스타일 - 들여쓰기, 괄호의 위치 등 코드를 읽기 쉬운 구조로 작성하기 위한 규칙
* 연산자 사용 규칙 - 연산자로 인해서 발생하는 소프트웨어 오류를 최소화하기 위한 규칙
ex) signed 데이터와 unsigned 데이터를 서로 assign 하지 않는다
비교 문에서 float 형 데이터를 사용하지 않는다
* 호환성 규칙 - 어떠한 환경에서도 재사용이 가능한 코드 작성을 위한 규칙
* 오류 규칙
QAC / QAC++ 에서 알아두어야 할 개념 중에 Personality 라는 것이 있다. 쉽게 말해 옵션.
* Message Personality : 분석 대상에 적용할 코딩 룰의 집합. 룰을 변경하거나 출력 형태를 변경하기 위한 설정
* Analyser Personality : 개발하는 프로젝트에 따른 특성을 설정, 프로젝트에서 참조하는 라이브러리 정보 및 일부 Style Guide 룰 설정. 프로젝트에 의존적인 정보
* Compiler Personality : 코드 분석을 위한 컴파일러의 특성을 설정
'개발자 > Programming' 카테고리의 다른 글
vscode에서 깃허브 연동 종결 (퍼옴) (0) | 2020.04.26 |
---|---|
디자인 패턴 (전략 패턴) (0) | 2020.04.15 |
VS CODE 단축키(유용한 거 생길 때마다 업데이트) (0) | 2020.04.07 |
줄 끝을 정규화시키시겠습니까? 경고창에 대해 (0) | 2020.04.01 |
DLL이란? (Dynamic Link Library) (0) | 2020.03.30 |