본문 바로가기
자동차 임베디드 SW/툴 관련

정적검증과 미즈라씨 Misra-C

by 존버매니아.임베디드 개발자 2019. 7. 6.
반응형

정적검증은 소스 코드 그 자체를 툴이 검사해서 혹시 문제를 일으킬 소지가 있는 것을

알려주는 작업이라 하였다.

 

정적검증을 이야기하면서 항상 나오는 것이 바로 Misra-C (미즈라씨) 이다.

 

 

정적검증툴이 소스코드를 검사할 때, 문제가 있는지 없는지를 판단하는 기준이 있어야 될 것이다.

 

그런 기준은 툴마다 조금씩 다르고 아주 다양한 기준이 있다.

 

그런 기준들중에서 국제적으로 표준처럼 쓰이는 Rule이 바로 Misra-C 이다.

 

미즈라씨가 제공하는 Rule 이 실제로 무엇인지 정리된 문서는 돈주고 사서 봐야한다.

 

정적검증 오류로 예를 들었던

 

초기값이 없는 지역변수 선언 이라던지.. 포인터를 잘못사용했다던지..

 

그런 에러를 유발할 수 있을 법한 상황들을 100~170개 정도 나열 해놓은것이 미즈라 씨이다.

 

참고로 미즈라 씨는 에러 유발 상황도 있지만 코딩가이드? 같은것도 존재한다.

 

예를 들어 if , else if 코딩을 할 때,, 항상 마지막은 else로 끝나야한다.

(else에서 실행 할 내용이 없더라도)

 

 

 

 

 

미즈라씨의 버전은 (1998)v1. (2004)v2. (2012)v3 이렇게 3가지 버전이 있다.

 

버전마다 조금씩 차이 점이 있긴한데..

 

지금은 그렇게까지 자세히 알 필요는 없고 미즈라씨는 정적검증 할 때  기준이 되는 'Rule(규칙)'

 

그러한 Rule 들이 굉장히 많지만 가장 보편적이고 기본으로 쓰이는 Rule 이라고 생각하면된다.

 

 

 

 

 

 

반응형