반응형
정적검증은 소스 코드 그 자체를 툴이 검사해서 혹시 문제를 일으킬 소지가 있는 것을
알려주는 작업이라 하였다.
정적검증을 이야기하면서 항상 나오는 것이 바로 Misra-C (미즈라씨) 이다.
정적검증툴이 소스코드를 검사할 때, 문제가 있는지 없는지를 판단하는 기준이 있어야 될 것이다.
그런 기준은 툴마다 조금씩 다르고 아주 다양한 기준이 있다.
그런 기준들중에서 국제적으로 표준처럼 쓰이는 Rule이 바로 Misra-C 이다.
미즈라씨가 제공하는 Rule 이 실제로 무엇인지 정리된 문서는 돈주고 사서 봐야한다.
정적검증 오류로 예를 들었던
초기값이 없는 지역변수 선언 이라던지.. 포인터를 잘못사용했다던지..
그런 에러를 유발할 수 있을 법한 상황들을 100~170개 정도 나열 해놓은것이 미즈라 씨이다.
참고로 미즈라 씨는 에러 유발 상황도 있지만 코딩가이드? 같은것도 존재한다.
예를 들어 if , else if 코딩을 할 때,, 항상 마지막은 else로 끝나야한다.
(else에서 실행 할 내용이 없더라도)
미즈라씨의 버전은 (1998)v1. (2004)v2. (2012)v3 이렇게 3가지 버전이 있다.
버전마다 조금씩 차이 점이 있긴한데..
지금은 그렇게까지 자세히 알 필요는 없고 미즈라씨는 정적검증 할 때 기준이 되는 'Rule(규칙)'
그러한 Rule 들이 굉장히 많지만 가장 보편적이고 기본으로 쓰이는 Rule 이라고 생각하면된다.
반응형
'자동차 임베디드 SW > 툴 관련' 카테고리의 다른 글
Binary 파일 읽기 (Notepad++ plugin) (0) | 2022.08.02 |
---|---|
Tera Term 키보드 입력이 안될 때 (2) | 2021.12.15 |
배치파일 관련 (0) | 2021.03.12 |
VSCODE 유용한것 메모 (0) | 2021.02.19 |
정적검증 ( 학교에서 하던 sw랑 회사에서 쓰는 sw는 뭐가 다를까?) (0) | 2019.07.05 |