MISRA C
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
MISRA C는 C 언어를 안전하게 사용하기 위한 코딩 표준으로, 1998년 처음 발표되었다. 자동차 산업을 중심으로 발전하여 항공우주, 의료 기기 등 다양한 분야에서 활용되고 있으며, C 언어의 이식성, 안전성 확보를 위해 코딩 규칙을 정비하고 표준화하는 데 기여한다. MISRA C는 여러 개정판을 거치며 C99, C11, C17 등 C 언어 표준을 지원하며, 규칙 준수를 넘어 예외 사항의 문서화를 권장한다. MISRA C의 준수를 돕는 다양한 도구들이 존재하지만, 모든 규칙을 100% 만족하는 도구는 없으며, 몇몇 연구에서는 MISRA C의 효과에 대한 비판적인 시각도 제시되었다.
더 읽어볼만한 페이지
- 컴퓨터 표준 - 포트란
포트란은 1950년대 IBM에서 개발되어 과학 및 공학 계산에 주로 사용되는 프로그래밍 언어이며, '수식 번역 시스템'에서 유래하여 객체 지향 프로그래밍, 병렬 처리 등의 기능이 추가되며 현대적인 언어로 발전해왔다. - 컴퓨터 표준 - PCI 익스프레스
PCI 익스프레스(PCIe)는 고속 직렬 통신을 사용하는 컴퓨터 확장 카드 인터페이스 규격으로, 점대점 연결 방식과 패킷 기반 데이터 전송, 그리고 다양한 레인 구성과 지속적인 발전을 특징으로 한다. - C 프로그래밍 언어 - C (프로그래밍 언어)
C는 하드웨어 제어와 이식성이 뛰어난 고급 절차적 프로그래밍 언어로서, 다양한 분야에서 사용되며 후속 언어에 영향을 주었고, 성능과 효율성이 높지만 안전성 문제 개선이 필요한 언어이다. - C 프로그래밍 언어 - 헤더 파일
헤더 파일은 프로그래밍 언어에서 코드 재사용성, 모듈화, 컴파일 시간 단축에 기여하며 함수 프로토타입, 변수 선언 등을 포함하고 `#include` 지시어로 소스 코드에 포함되어 사용되는 파일이다. - C 프로그래밍 언어 계열 - C (프로그래밍 언어)
C는 하드웨어 제어와 이식성이 뛰어난 고급 절차적 프로그래밍 언어로서, 다양한 분야에서 사용되며 후속 언어에 영향을 주었고, 성능과 효율성이 높지만 안전성 문제 개선이 필요한 언어이다. - C 프로그래밍 언어 계열 - 펄
펄은 래리 월이 개발한 텍스트 조작에 강점을 가진 다목적 프로그래밍 언어이며, 1987년 펄 1.0이 처음 공개된 이후 여러 버전 업데이트를 거쳐 객체 지향 프로그래밍과 유니코드 지원 기능을 추가했고, 현재 펄 5가 널리 사용되며 CPAN을 통해 방대한 모듈 생태계를 제공한다.
MISRA C |
---|
2. 역사
MISRA C는 1997년에 초안이 작성되었다.[2] 1998년, "차량 기반 소프트웨어에서 C 언어 사용 지침"이라는 MISRA-C의 초판이 출판되었으며, 공식적으로 ''MISRA-C:1998''로 알려져 있다.[14]
MISRA-C:1998에는 127개의 규칙이 있으며, 이 중 93개는 필수, 34개는 권장 사항이었다. 규칙은 1부터 127까지 번호가 매겨져 있다.
2004년에는 ''MISRA-C:2004''가 제작되었는데, 이는 "'''''중요 시스템'''''에서 C 언어 사용을 위한 가이드라인"의 두 번째 판이다. 여기에는 규칙의 완전한 재정렬을 포함하여 가이드라인에 많은 실질적인 변경이 있었다. MISRA-C:2004는 142개의 규칙을 포함하며, 그 중 122개는 "필수", 20개는 "권고" 사항이며, "환경"에서 "런타임 오류"까지 21개의 주제별 범주로 나뉜다.
MISRA C:2012가 발표되면서 새로운 가이드라인 범주인 ''지침''이 도입되었는데, 이는 준수 여부가 더 열린 해석을 필요로 하거나, 프로세스 또는 절차적 문제와 관련이 있다.
판 | 년도 | 설명 |
---|---|---|
초안 | 1997년 | [2] |
초판 | 1998년 | 규칙 (필수/권장) |
2판 | 2004년 | 규칙 (필수/권장) |
3판 | 2012년 | 지침; 규칙 (결정 가능/결정 불가능) |
MISRA 준수 | 2016년, 2020년 | 업데이트 |
MISRA C:2023 | 2023년 | MISRA C 3판, 2차 개정 |
MISRA C 지침은 '필수', '요구 사항', '권장 사항'으로 분류된다.[10] 각 지침의 준수 의무는 다음과 같다.
3. 규칙 분류 및 특징
MISRA 준수 문서는 '권장 사항' 지침에 대해서는 '미적용'을 허용한다.
''MISRA-C:2012''는 143개의 규칙을 포함하며, 이 중 10개는 의무, 101개는 필수, 32개는 권장 사항으로 구성되어 있다.[9]
3. 1. 분류
MISRA C는 규칙의 강제성에 따라 '필수' 규칙과 '권고' 규칙으로 분류된다.
구분 | 필수 규칙 수 | 권고 규칙 수 | 총 규칙 수 | 규칙 번호 |
---|---|---|---|---|
MISRA-C:1998 | 93개 | 34개 | 127개 | 1번부터 127번까지 |
MISRA-C:2004 | 121개 | 20개 | 141개 | "Environment"부터 "Run-time failure"까지 21개 그룹, 각 그룹별 1.1부터 21.1까지 |
[9]
새로운 소프트웨어 프로젝트를 시작할 때는 최신 MISRA 표준을 사용해야 한다. 이전 표준은 해당 표준을 참조해야 하는 기존 소프트웨어 프로젝트에서 계속 사용할 수 있다.[9]
3. 2. 범주
MISRA-C:1998에는 총 127개의 규칙이 있으며, 93개의 필수 규칙과 34개의 권고 규칙으로 구성되어 있다. 규칙 번호는 1번부터 127번 형식으로 구성되어 있다.[9]MISRA-C:2004에는 총 141개의 규칙이 있으며, 121개의 필수 규칙과 20개의 권고 규칙으로 구성되어 있다. 각각의 규칙들은 "Environment"부터 "Run-time failure"까지 21개의 그룹으로 구성되어 있고, 번호는 1.1부터 21.1까지 각 그룹별로 매겨져 있다.[9]
새로운 소프트웨어 프로젝트를 시작할 때는 최신 MISRA 표준을 사용해야 한다. 이전 표준은 해당 표준을 참조해야 하는 기존 소프트웨어 프로젝트에서 계속 사용할 수 있다.[9]
규칙은 논리적으로 다음과 같은 여러 범주로 나눌 수 있다.
- 가능한 컴파일러 차이점을 피하기 위한 규칙. (예: C의 `int` 타입 크기는 다를 수 있지만, `int16_t` (C99에서 표준화됨)는 항상 16비트이다.)
- 실패하기 쉬운 함수 및 구문 사용을 피하기 위한 규칙. (예: `malloc`은 실패할 수 있다.)
- 유지 보수 및 디버깅 가능한 코드를 생성하기 위한 규칙. (예: 명명 규칙 및 주석)
- 모범 사례 규칙.
- 복잡성 제한.
3. 3. 범위
MISRA C는 규칙의 개수와 구성 방식에 따라 여러 버전으로 나뉜다.버전 | 규칙 개수 | 필수 규칙 | 권고 규칙 | 규칙 번호 |
---|---|---|---|---|
MISRA-C:1998 | 127개 | 93개 | 34개 | 1번부터 127번까지 순서대로 |
MISRA-C:2004 | 141개 | 121개 | 20개 | "Environment"부터 "Run-time failure"까지 21개의 그룹으로 나뉘어 있으며, 각 그룹별로 1.1부터 21.1까지 |
MISRA C:2012는 각 가이드라인을 '단일 번역 단위' 또는 '시스템'으로 별도로 분류한다.[10]
새로운 소프트웨어 프로젝트를 시작할 때는 최신 MISRA 표준을 사용하는 것이 좋으며, 이전 표준은 해당 표준을 참조해야 하는 기존 소프트웨어 프로젝트에서 계속 사용할 수 있다.[9]
3. 4. 결정 가능성
MISRA C:2012는 '규칙'(하지만 '지침'은 제외)을 '결정 가능' 또는 '결정 불가능'으로 분류한다.[9]4. C 언어의 문제점 및 MISRA C의 역할
C 언어 표준에서 규정하는 실행 환경에는 운영체제(OS)의 존재를 전제로 하는 호스트 환경과 OS를 이용하지 않거나 OS 자체를 기술하는 것을 전제로 하는 프리 스탠딩 환경이 있다. 임베디드 환경은 후자에 해당한다. C 언어는 고급 언어의 탈을 쓴 어셈블러(고급 어셈블러[36], 범용 어셈블러[37])라고도 불릴 정도로 하드웨어를 직접 제어할 수 있으면서도 이식성이 높은 언어이며, 그렇기에 리소스 제한 및 성능 요구가 엄격한 임베디드 환경이나 디바이스 드라이버 개발의 주류 언어로서 계속 사용되고 있다. 임베디드 프로세서 등의 칩 벤더가 자사 하드웨어 판매 시 C 컴파일러를 함께 제공하기도 한다. 커널 모드 드라이버는 C 언어로만 기술해야 하는 환경도 있다[38].
그러나 자바 및 C#와 같은 고수준의 가상 머신 기반 프로그래밍 언어와 비교했을 때, C 언어는 안전성에 관해 충분히 고려되었다고 말하기 어렵다. 파스칼 등 동시대 혹은 그 이전에 등장한 다른 언어와 비교해도 문자열 처리 등에서 안전성이 떨어지는 부분이 있다. 특히 버퍼 오버런이나 스택 오버플로우에 의한 메모리 접근 위반, 메모리 해제 누락에 의한 메모리 누수 등 C 언어에서는 시스템 정지나 정의되지 않은 동작을 초래하는 치명적인 소프트웨어 결함에 대한 최종 방어벽이 없으며, 이는 프로그래머 측의 부담과 책임으로 이어진다. C 언어에서 직접 발전한 C++(C++) 언어에 대해서도 어느 정도 개선 및 개량된 부분이 있지만, 여전히 C 언어와 동일한 문제점을 안고 있는 부분이 있다.
최신 후발 언어는 이식성이 없는 프로그램이나 위험한 프로그램을 작성하기 어려운 (혹은 작성할 수 없는) 사양으로 되어 있는 반면, C/C++ 언어는 원래 프로그래머를 신뢰하고, 프로그래머가 할 수 있는 것을 제한하지 않는 설계 사상을 가지고 있다. 따라서 C/C++ 언어로 이식성 및 안전성을 확보하면서 프로그램을 작성하기 위해서는, 어떤 코딩 규칙을 정비·표준화하여 운영 시에 제한을 걸 필요가 있다.
5. MISRA 준수
MISRA는 MISRA 준수 사항을 이해하고 달성하기 위한 추가 지침을 제공하는 문서를 발행했다.
MISRA C 가이드라인을 준수한다고 주장하는 소프트웨어는 모든 ''필수'' 규칙을 충족해야 하며, 모든 ''요구'' 규칙과 지침은 충족되거나 공식적인 예외 적용을 받아야 한다. ''권고'' 규칙은 공식적인 예외 적용 없이 적용되지 않을 수 있지만, 이는 여전히 프로젝트 문서에 기록되어야 한다.
준수 목적상, ''규칙''과 ''지침'' 사이에는 구분이 없다.
5. 1. 예외(Deviation)
MISRA C의 많은 ''규칙''은 특정 조건에서 소프트웨어 엔지니어가 규칙에서 벗어나도 여전히 표준을 준수하는 것으로 간주될 수 있기 때문에 ''지침''으로 특징지을 수 있다. 예외는 코드 또는 파일에 문서화해야 한다. 또한, 소프트웨어 엔지니어가 시스템의 안전성을 고려했으며 규칙에서 벗어나는 것이 부정적인 영향을 미치지 않는다는 증거를 제공해야 한다. 예외에 대한 요구 사항은 다음과 같다.[13]6. 관련 도구
MISRA C 준수를 위한 다양한 소프트웨어 도구들이 존재하지만, 어떤 도구도 MISRA C를 100% 만족시킬 수는 없다. 그 이유는 MISRA C 규칙 중에는 반드시 사람이 직접 확인해야 하는 내용이 포함되어 있기 때문이다.
MISRA 준수를 위해 코드를 검사한다고 주장하는 많은 소프트웨어 도구가 있지만, MISRA 인증 프로세스는 없다.[23] 대부분의 가이드라인은 정적 코드 분석을 수행하는 도구를 사용하여 검사할 수 있다. 나머지 가이드라인은 동적 코드 분석을 사용해야 한다.
"MISRA 표준을 준수한다"는 점을 내세우는 코드 검사 도구가 많이 있지만, MISRA는 제3자에 의한 허가 및 인가 제도를 가지고 있지 않으므로 자체 선언이다.[45]
MISRA GitLab[22] 저장소(로그인 필요)에서 예제 스위트(MISRA-C:2004 및 MISRA C:2012용)를 사용할 수 있다. 이를 통해 도구 사용자는 다양한 MISRA 도구에서 제공하는 검사 지원을 평가하고 비교할 수 있으며, 도구 구현자에게는 MISRA 가이드라인의 의도에 대한 지침을 제공한다.
MISRA 도구 이용자가 평가하고 비교할 수 있도록 MISRA-C:2004 및 MISRA-C:2012의 예제 프로그램을 MISRA 게시판[46]에서 다운로드할 수 있다.
다음은 MISRA 준수를 위해 코드를 검사하는 도구 및 지원하는 C/C++ 컴파일러 목록이다.
도구 종류 | 도구 이름 | 비고 |
---|---|---|
코드 분석 도구 | Astrée (AbsInt) | |
Axivion Bauhaus Suite (Axivion GmbH) | MISRA C:2004, C:2012, C:2012 Amendment 1, C++:2008, Compliance:2016 | |
CodeSonar (GrammaTech) | ||
Coverity (Synopsys) | 정적 분석 | |
Cppcheck | C/C++용 오픈 소스 정적 분석 도구 | |
ECLAIR (BUGSENG srl) | MISRA C:2004, C:2012, C:2012 Amendment 1, C++:2008 | |
Helix QAC (Perforce Software) | MISRA C:1998, C:2004, C:2012, C++:2008[24] | |
Klocwork ([Rogue Wave Software](현재 Perforce Software 소유)[25]) | MISRA C:2012, C:2012 Amendment 1, C++:2008[26] | |
LDRA Testbed (Liverpool Data Research Associates) | ||
Parasoft C/C++test (Parasoft) | MISRA C 1998, MISRA C 2004, MISRA C 2012 AMD1, AMD2 and AMD3, MISRA C++ 2008, Draft version of MISRA C++ 202x[27] | |
PC-Lint ([Gimpel Software](현재 Vector Informatik GmbH 소유)) | MISRA C:1998, C:2004, C:2012, C++:2008[28] | |
Polyspace (MathWorks) | ||
PVS-Studio (Program Verification Systems) | ||
코드 분석 도구 (외부 링크) | IAR C-STAT | MISRA-C, CERT, CWE |
한컴MDS QAC | Code Inspection, MISRA-C | |
소프트4소프트, RESORT for C | MISRA-C | |
PRQA QAC | ||
코드 분석 도구 (기타) | SonarQube (SonarSource) | 오픈 소스, 일부 상업용 플러그인 구성 요소 포함 |
SQuORE (Squoring Technologies) | ||
Understand (SciTools) | ||
SPARROW QCE | ||
C/C++ 컴파일러 | Green Hills Software | |
IAR Systems | MISRA C:1998, C:2004, C:2012, C++:2008[29] | |
TASKING | MISRA C:1998, C:2004, C:2012 |
정적 코드 분석 도구 목록도 참조.
7. 비판
Les Hatton은 MISRA C:1998과 MISRA C:2004에 대한 이전 연구를 비교하는 논문에서 다음과 같은 결론을 내렸다.[30]
:"MISRA C 표준의 영향력이 확대되는 점을 고려하여, 이 논문은 원래 표준의 중요한 결함이 만족스럽게 해결되었는지 평가하고자 한다. 불행하게도 그렇지 못했고, 중요 양성 대 오양성 비율은 MISRA C 2004에서 MISRA C 1998보다 크게 개선되지 않았으며, 두 경우 모두 용납할 수 없을 정도로 낮다."
그는 이어서 다음과 같이 언급했다.[30]
:"현재 형태로 볼 때, MISRA C 2004 업데이트의 혜택을 받는 유일한 사람은 도구 공급업체인 것으로 보이며, 향후 개정에서 발표된 실험 데이터를 조금 더 참고하고 좋은 아이디어처럼 보이는 규칙을 발명하려는 유혹을 덜 함으로써 문구를 단순화하고 오양성 비율을 줄이기 위한 조치가 취해지기를 바란다."
델프트 공과대학교(TU Delft)의 Cathal Boogerd와 Leon Moonen의 연구는 MISRA C:2004의 가치를 실증적으로 평가했는데, 이 연구는 비슷한 결과를 보였다.[31]
:"얻은 데이터를 통해 다음과 같은 주요 관찰을 할 수 있다. 첫째, 결함 관련 라인을 찾는 데 있어 무작위 예측기보다 유의미하게 (α = 0.05) 더 나은 성능을 보이는 72개의 규칙 중 9개가 있다. 이 규칙들의 진양성률은 24-100% 범위이다. 둘째, MISRA 규칙 위반과 관찰된 결함 사이에 음의 상관 관계가 있음을 관찰했다. 또한, 72개의 규칙 중 29개는 0의 진양성률을 보였다. Adams의 모든 수정이 결함을 발생시킬 확률이 0이 아니라는 관찰과 함께, 이는 MISRA 표준을 전체적으로 준수하는 것이 소프트웨어를 덜 신뢰할 수 있게 만들 수 있음을 시사한다."
8. 활용 분야
MISRA C는 원래 자동차 산업을 목표로 개발되었지만, 현재는 자동차, 항공우주, 통신, 의료 기기, 국방, 철도 등 다양한 분야에서 널리 채택되고 있다.
- 합동 공격 전투기 프로젝트의 C++ 코딩 표준[3]은 MISRA-C:1998을 기반으로 한다.
- NASA 제트 추진 연구소의 C 코딩 표준[4]은 MISRA-C:2004를 기반으로 한다.
- IEC 81001-5-1:2021 "건강 소프트웨어 및 건강 IT 시스템의 안전, 효과 및 보안 - 파트 5-1: 보안 - 제품 수명 주기 활동"은 안전한 코딩 모범 사례의 예시로 MISRA C를 언급하고 있다.
- ISO 26262 "기능 안전 - 도로 차량"은 MISRA C를 C 언어의 적절한 하위 집합으로 언급한다.
- ISO 26262-6:2011 "파트 6: 소프트웨어 수준의 제품 개발"[5]은 MISRA-C:2004와 MISRA AC AGC를 언급한다.
- ISO 26262-6:2018 "파트 6: 소프트웨어 수준의 제품 개발"[6]은 MISRA C:2012를 언급한다.
- AUTOSAR 일반 소프트웨어 사양(SRS_BSW_00007) 또한 MISRA C를 언급한다.
- AUTOSAR 4.2 일반 소프트웨어 사양[7]은 "BSW 모듈 구현이 C 언어로 작성된 경우 MISRA C:2004 표준을 준수해야 합니다."라고 요구한다.
- AUTOSAR 4.3 일반 소프트웨어 사양[8]은 "BSW 모듈 구현이 C 언어로 작성된 경우 MISRA C:2012 표준을 준수해야 합니다."라고 요구한다.
9. 관련 표준 및 문서
MISRA C는 여러 관련 표준 및 문서를 가지고 있으며, 시간이 지남에 따라 발전해 왔다. 주요 표준 및 문서는 다음과 같다.
- 초안 및 초기 버전:
- 1997년: 초안[2]
- 1998년: 초판 (''MISRA-C:1998'') 발행. 127개의 규칙(93개 필수, 34개 권장) 포함.[14][40]
- 2004년: 2판 (''MISRA-C:2004'') 발행. 142개의 규칙(122개 필수, 20개 권고) 포함. 규칙 재정렬 등 많은 변경 사항 적용.[40]
- MISRA C:2012 (3판):
- 2013년 발행. C99 지원 확장 및 여러 개선 사항 포함.[15]
- 143개 규칙과 16개 지침 포함. 규칙은 '필수', '요구됨', '권고'로 분류되며, '단일 번역 단위' 또는 '시스템'으로 분류됨. 또한 '결정 가능' 또는 '결정 불가능'으로 분류됨.
- MISRA C:2012 부록:
- ''MISRA C:2012 - 부록 1: 규칙 매핑'':[18] MISRA C:2004와 새로운 버전 간의 양방향 규칙 매핑 제공.
- ''MISRA C:2012 - 부록 2: ISO/IEC TS 17961:2013 "C Secure"에 대한 MISRA C:2012의 적용 범위''[19]
- ''MISRA C:2012 - 부록 3: CERT C에 대한 MISRA C:2012의 적용 범위''[20]
- 개정판:
- 2016년: ''MISRA C:2012 - Amendment 1: 추가 보안 가이드라인'' 발행. 14개의 새로운 보안 지침 추가.[16]
- 2020년: ''MISRA C:2012 - Amendment 2: ISO/IEC 9899:2011/18 핵심 기능 업데이트''[17] 발행. C11/C18 내에서 정의되지 않은, 명시되지 않은, 그리고 구현에 따라 정의되는 동작에 대한 매핑 추가.
- 2023년: MISRA C:2023 (MISRA C 제3판, 제2 개정판) 발표. C11 및 C17 언어 기능 지원, 수정 사항 2–4(AMD2, AMD3, AMD4) 및 기술 정정 사항 2(TC2) 통합.
- 기타 관련 문서:
- MISRA 준수: 2016년, 2020년 업데이트
- Approved Deviation Compliance (ADC) version 1.0: MISRA Forum[41]에서 다운로드 가능. 규칙에서 벗어나는 것이 신뢰성이 높은 경우에 대한 문서화 절차 안내.
- 매트랩에서 자동 생성된 프로그램에 대한 Misra AutoCode
- C++(C++) 언어에 대응하는 MISRA C++ 지침
- "''Safer C''"[39]
- "C 프로그래밍의 함정"
- CERT C, CERT C++: 소프트웨어 엔지니어링 연구소(Software Engineering Institute, SEI)에서 관리하는 코딩 표준.[47][48]
- ISO/IEC TS 17961[49]: 국제 표준 코딩 표준 기본 문서.
MISRA C 문서는 유료로 판매되고 있다.[43] 자동차 기술회에서 일본어판인 JASO 기술 페이퍼 "자동차용 C 언어 이용 가이드라인"을 판매하고 있다. SESSAME의 MISRA C 연구회가 작성한 규칙 해설서도 일본 규격 협회에서 발행하고 있으며, 오탈자는 SESSAME 웹사이트에 게재되어 있다.[44]
새로운 소프트웨어 프로젝트를 시작할 때는 최신 MISRA 표준을 사용하는 것이 권장된다.[9]
참조
[1]
웹사이트
MISRA clarifies safe and secure uses of the C language
https://www.misra.or[...]
www.misra.org.uk
2019-10-09
[2]
문서
[3]
웹사이트
Joint Strike Fighter Air Vehicle C++ Coding Standards
http://www.stroustru[...]
2019-07-16
[4]
웹사이트
JPL Institutional Coding Standard for the C Programming Language
https://andrewbanks.[...]
2019-07-16
[5]
웹사이트
ISO 26262-6:2011 Road vehicles -- Functional safety -- Part 6: Product development at the software level
https://www.iso.org/[...]
ISO
2019-07-16
[6]
웹사이트
ISO 26262-6:2018 Road vehicles -- Functional safety -- Part 6: Product development at the software level
https://www.iso.org/[...]
ISO
2019-07-16
[7]
웹사이트
AUTOSAR 4.2 General Software Specification
https://www.autosar.[...]
2019-07-16
[8]
웹사이트
AUTOSAR 4.3 General Specification of Basic Software Modules
https://www.autosar.[...]
AutoSAR
2019-07-16
[9]
문서
MISRA publications
http://www.misra.org[...]
[10]
웹사이트
Fact Sheet: MISRA C:2012 (PDF)
http://www.programmi[...]
programmingresearch.com
2013-06-10
[11]
웹사이트
MISRA Compliance:2016 (PDF)
http://misra.org.uk/[...]
MISRA
2016-07-22
[12]
웹사이트
MISRA Compliance:2020 (PDF)
https://www.misra.or[...]
MISRA
2020-04-08
[13]
웹사이트
Achieving MISRA C:2012 Compliance
http://alm.parasoft.[...]
Parasoft
2017-05-29
[14]
웹사이트
A brief history of MISRA C
http://www.misra-c.c[...]
MISRA
2014-06-30
[15]
웹사이트
MISRA C:2012 release date announced
http://www.misra.org[...]
MISRA
2013-06-10
[16]
웹사이트
MISRA C:2012 - Amendment 1 (PDF)
https://misra.org.uk[...]
MISRA
2019-10-31
[17]
웹사이트
MISRA C:2012 - Amendment 2 (PDF)
https://misra.org.uk[...]
MISRA
2021-01-06
[18]
웹사이트
MISRA C:2012 - Addendum 1: Rule Mapping (PDF)
https://www.misra.or[...]
[19]
웹사이트
MISRA C:2012 - Addendum 2: Coverage of MISRA C:2012 against ISO/IEC TS 17961:2013 "C Secure" (PDF)
https://www.misra.or[...]
[20]
웹사이트
MISRA C:2012 - Addendum 3: Coverage of MISRA C:2012 against CERT C (PDF)
https://www.misra.or[...]
[21]
웹사이트
MISRA
https://misra.org.uk[...]
[22]
문서
MISRA GitLab repository
https://gitlab.com/M[...]
[23]
문서
'MISRA C FAQ list.'
http://www.misra-c.c[...]
MISRA Consortium
[24]
웹사이트
Helix QAC for C and C++ | Perforce
https://www.perforce[...]
[25]
웹사이트
Clearlake Capital-Backed Perforce Software to Acquire Rogue Wave Software | Perforce
https://www.perforce[...]
[26]
웹사이트
Klocwork for C, C++, C#, Java, and JavaScript | Perforce
https://www.perforce[...]
[27]
웹사이트
C/C++ Built-in Test Configurations
https://docs.parasof[...]
Parasoft
2023-03-09
[28]
문서
MISRA conformance checking, PC-lint/FlexeLint, Gimpel Software.
http://www.gimpel.co[...]
[29]
문서
Languages and Standards; iar.com
https://www.iar.com/[...]
[30]
문서
Language subsetting in an industrial context: a comparison of MISRA C 1998 and MISRA C; Les Hatton; University of Kingston; 2004.
http://www.leshatton[...]
[31]
문서
Assessing the Value of Coding Standards: An Empirical Study; C.J. Boogerd and L. Moonen; Delft University of Technology; 2008.
http://resolver.tude[...]
[32]
서적
The C Puzzle Book
Addison-Wesley Professional
1998-10-15
[33]
서적
Cパズルブック
カットシステム
2000-12-01
[34]
서적
C Traps and Pitfalls
Addison-Wesley Professional
1989-01-01
[35]
서적
Cプログラミングの落とし穴
新紀元社
2004-01-01
[36]
웹사이트
もう一度基礎からC言語 第19回 いろいろな演算子~ビット演算子 Cは高級アセンブラ?
https://www.grapecit[...]
[37]
웹사이트
第1回 Chapter 1 C言語の概要(1):Cプログラミング入門|gihyo.jp … 技術評論社
https://gihyo.jp/dev[...]
[38]
웹사이트
Portable drivers - Windows drivers | Microsoft Learn
https://learn.micros[...]
[39]
서적
Safer C: Developing Software for High-Integrity and Safety-Critical Systems (The Mcgraw-Hill International Series in Software Engineering)
Mcgraw-Hill
1995
[40]
웹사이트
INDEX → Introduction
https://web.archive.[...]
2006-10-18
[41]
게시판
MISRA Bulletin Board - Index page
http://www.misra.org[...]
[42]
웹사이트
ISO/IEC JTC1/SC22/WG14 - C: Approved standards
http://www.open-std.[...]
[43]
웹사이트
INDEX → Buy MISRA C
https://web.archive.[...]
2006-10-18
[44]
웹사이트
SESSAME Working Group 3
http://www.sessame.j[...]
[45]
웹사이트
INDEX → FAQ
https://web.archive.[...]
2006-10-18
[46]
게시판
MISRA Bulletin Board - Index page
http://www.misra.org[...]
[47]
웹사이트
SEI CERT C Coding Standard - SEI CERT C Coding Standard - Confluence
https://wiki.sei.cmu[...]
[48]
웹사이트
SEI CERT C++ Coding Standard - SEI CERT C++ Coding Standard - Confluence
https://wiki.sei.cmu[...]
[49]
PDF
C Secure Coding Rules
http://www.open-std.[...]
[50]
웹사이트
http://www.programmi[...]
[51]
웹인용
보관된 사본
http://www.misra-c.c[...]
2012-02-07
[52]
웹사이트
http://demo.electron[...]
[53]
웹인용
보관된 사본
http://www.misra.org[...]
2012-02-07
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com