10의 힘: 안전 중요 코드 개발을 위한 규칙
The Power of 10: Rules for Developing Safety-Critical Code10가지 규칙의 힘은 2006년 신뢰할 수 있는 소프트웨어를 위한 NASA/JPL 연구소의 제라드 J. 홀츠만에 의해 만들어졌다.[1]이 규칙은 코드를 검토하거나 정적으로 분석하기 어렵게 만드는 특정 C 코딩 관행을 제거하기 위한 것이다.이 규칙은 MISRA C 지침의 보완사항이며 JPL 코딩 표준의 더 큰 집합에 통합되었다.[2]
규칙.
10가지 규칙은 다음과 같다.[1]
- goto 및 재귀와 같은 복잡한 흐름 구조를 피하십시오.
- 모든 루프에는 고정된 한계가 있어야 한다.이렇게 하면 가출 코드가 방지된다.
- 힙 메모리 할당을 피하십시오.
- 기능을 단일 인쇄 페이지로 제한하십시오.
- 함수당 최소 두 개의 런타임 주장을 사용하십시오.
- 데이터의 범위를 가능한 가장 작은 범위로 제한하십시오.
- 모든 비Void 함수의 반환 값을 확인하거나 void로 캐스팅하여 반환 값이 쓸모 없음을 표시한다.
- 전처리기기를 조금만 사용하십시오.
- 포인터 사용을 단일 참조로 제한하고 함수 포인터를 사용하지 마십시오.
- 가능한 모든 경고를 활성화한 상태에서 컴파일하십시오. 그런 다음 모든 경고는 소프트웨어를 릴리스하기 전에 해결해야 한다.
사용하다
미국 항공우주국(NASA)의 도요타 전자 스로틀 제어 펌웨어 연구 결과 이들 규칙 위반은 최소 243건이었다.[3][4]
참고 항목
추가 읽기
- G.J. Holzmann (2006-06-19). "The Power of 10: Rules for Developing Safety-Critical Code". IEEE Computer. 39 (6): 95–99. doi:10.1109/MC.2006.212.
참조
- ^ a b 10의 힘: 안전 중요 코드 개발을 위한 규칙
- ^ JPL C 코딩 표준 - 신뢰할 수 있는 소프트웨어를 위한 JPL 실험실
- ^ 2011년 3월 1일, Embedded Gurus Michael Barr에 의한 의도하지 않은 가속 및 기타 임베디드 소프트웨어 버그
- ^ NASA 엔지니어링 및 안전 센터 기술 평가 보고서, 미국도로교통안전청 도요타 의도하지 않은 가속도 조사, 부록 A