본문 바로가기

개발자/Programming

PRQA-C++(SW 신뢰성, 정적테스트)

반응형

MISRA C/C++ 규칙을 강제하는 툴

다운로드해서 사용할 수 있는 평가판이 존재.

프로젝트 내 모든 소스 코드에 붙혀 사용가능, 그 위에서 코드 분석도 돌릴 수 있음.

소스 코드 분석의 unsigned 변환 같은 문제 리포트, 오버플로우, wraparound 문제, 확장성 문제 및 여러 가지 컴파일 리포트를 생성함

아래는 QAC와 QAC++에 대한 정리 글을 발췌해왔다.


QAC / QAC++  정적 테스트 도구

Code Inspection으로 SW Coding 단계에서 잠재적 결함을 제거

Code Inspection 에는 Coding Rule Check, Fault Detection 등 존재
QAC/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 : 코드 분석을 위한 컴파일러의 특성을 설정




반응형