맨위로가기

MISRA C

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의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:20232023년MISRA C 3판, 2차 개정


3. 규칙 분류 및 특징

MISRA C 지침은 '필수', '요구 사항', '권장 사항'으로 분류된다.[10] 각 지침의 준수 의무는 다음과 같다.


  • '필수' 지침은 반드시 지켜야 한다.
  • '요구 사항' 지침은 예외적인 경우를 제외하고는 지켜야 한다.
  • '권장 사항' 지침은 좋은 사례로 여겨지지만, 반드시 지켜야 하는 것은 아니다.


MISRA 준수 문서는 '권장 사항' 지침에 대해서는 '미적용'을 허용한다.

''MISRA-C:2012''는 143개의 규칙을 포함하며, 이 중 10개는 의무, 101개는 필수, 32개는 권장 사항으로 구성되어 있다.[9]

3. 1. 분류

MISRA C는 규칙의 강제성에 따라 '필수' 규칙과 '권고' 규칙으로 분류된다.

구분필수 규칙 수권고 규칙 수총 규칙 수규칙 번호
MISRA-C:199893개34개127개1번부터 127번까지
MISRA-C:2004121개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:1998127개93개34개1번부터 127번까지 순서대로
MISRA-C:2004141개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 준수:2016''은 2016년 4월 MISRA에서 발표했다.[11]
  • ''MISRA 준수:2020'' 개정판은 2020년 2월에 발표되었다.[12]


MISRA C 가이드라인을 준수한다고 주장하는 소프트웨어는 모든 ''필수'' 규칙을 충족해야 하며, 모든 ''요구'' 규칙과 지침은 충족되거나 공식적인 예외 적용을 받아야 한다. ''권고'' 규칙은 공식적인 예외 적용 없이 적용되지 않을 수 있지만, 이는 여전히 프로젝트 문서에 기록되어야 한다.

준수 목적상, ''규칙''과 ''지침'' 사이에는 구분이 없다.

5. 1. 예외(Deviation)

MISRA C의 많은 ''규칙''은 특정 조건에서 소프트웨어 엔지니어가 규칙에서 벗어나도 여전히 표준을 준수하는 것으로 간주될 수 있기 때문에 ''지침''으로 특징지을 수 있다. 예외는 코드 또는 파일에 문서화해야 한다. 또한, 소프트웨어 엔지니어가 시스템의 안전성을 고려했으며 규칙에서 벗어나는 것이 부정적인 영향을 미치지 않는다는 증거를 제공해야 한다. 예외에 대한 요구 사항은 다음과 같다.[13]

  • 벗어난 규칙.
  • 예외에 대한 근거.[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)정적 분석
CppcheckC/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-STATMISRA-C, CERT, CWE
한컴MDS QACCode Inspection, MISRA-C
소프트4소프트, RESORT for CMISRA-C
PRQA QAC
코드 분석 도구
(기타)
SonarQube (SonarSource)오픈 소스, 일부 상업용 플러그인 구성 요소 포함
SQuORE (Squoring Technologies)
Understand (SciTools)
SPARROW QCE
C/C++ 컴파일러Green Hills Software
IAR SystemsMISRA C:1998, C:2004, C:2012, C++:2008[29]
TASKINGMISRA 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