Invisible Safety,

Proven by Intelligence

보이지 않는 안전을 인텔리전스로 증명하다.

기술 노트
IT 산업의 변화를 이끄는 MDS인텔리전스의
기술 인사이트를 만나보세요.
시스템 소프트웨어 개발
[CodeSonar] The Power of 10 Rules 대응 방안
2026년 02월 20일

코딩 규칙

소프트웨어 개발자들은 각각의 습관, 공부 방법, 회사의 지침 등에 따른 많은 코딩 스타일을 가지고 있습니다.


​사실 컴퓨터가 이해하기에는 모두 다 동일한 코드이지만, 유지 보수를 하고 사용을 하는 것은 사람이기 때문에 어느 정도 일관성 있는 코딩 스타일이 필요하게 되었습니다.


이러한 코딩 스타일은 코드 유지 보수에 큰 영향을 끼치며, 좋지 않은 코딩 스타일에 익숙해질 경우 능률이 저하되거나 타인과의 공동 작업에서 혼란이 가중될 수 있습니다.


 그렇기 때문에 큰 프로젝트의 경우, 사전에 코딩 규칙을 정하여 프로젝트에 참여한 개발자 모두가 이를 지킴으로써 생산성을 증대할 수 있습니다.


 

코딩 규칙을 따랐을 때의 장점은 아래와 같습니다.

  • 가독성 향상
  • 간결하고 명확한 코딩으로 인한 유지 보수성 향상
  • 개발 시간 단축


이를 위해 국제적으로 사용되는 코딩 규칙은 MISRA, Google, NASA PoT 규칙 등이 있습니다.


​이번 포스팅에서는 ​NASA The Power of Ten Rules 및 대응 방안​에 대해 살펴보겠습니다.




The Power of 10 Rules



The Power of 10 Rules는 NASA/JPL 소프트웨어 연구소의 Gerard J. Holzmann이 2006년에 만든 규칙입니다.​


이 규칙은 코드를 검토하거나 정적으로 분석하기 어렵게 만드는 특정 C 코딩 방식을 제거하기 위해 사용되고 있습니다.


The Power of 10 Rules


NoName
1Restrict to simple control flow constructs.
2Give all loops a fixed upper-bound.
3Do not use dynamic memory allocation after initialization.
4Limit functions to no more than 60 lines of text.
5Use minimally two assertions per function on average.
6Declare data objects at the smallest possible level of scope.
7Check the return value of non-void functions, and check the validity of function parameters.
8Limit the use of the preprocessor to file inclusion and simple macros.
9Limit the use of pointers. Use no more than two levels of dereferencing per expression.
10Compile with all warnings enabled, and use one or more source code analyzers.



CodeSonar를 통한 The Power of 10 Rules 검출

위 10개의 목록에 있는 Rule 모두 CodeSonar로 검출할 수 있습니다.


아래 예시와 같이 별도의 어려운 설정 없이 Preset 파일을 선택하여 분석을 진행하시면 손쉽게 위반 항목을 검출하여 대응하실 수 있습니다.



그림 1. The Power of Ten Rules Preset 사용 예시 화면


MDS인텔리전스는 고객의 요구사항에 맞추어 Preset 파일을 제공하고 있습니다.



이번 시간을 통해 안전한 소프트웨어 개발을 위한 Power of Ten Rule 대응 방안에 대해 소개해 드렸습니다. 


빠르고 편리하게 소프트웨어 관련 글로벌 표준 대응 및 기술 지원까지! 


많은 고객분들이 MDS인텔리전스의 CodeSonar를 선택하는 이유입니다. 


다음 시간에는 국방 무기체계 SW 개발 및 관리 매뉴얼 내 취약점 점검 대응을 위해, CodeSonar를 통한 CWE-658, 659 대응 방안에 대해 알아보겠습니다.



MDS 인텔리전스

소프트웨어 버그 및 취약점 검출 솔루션, CodeSonar

E. codesonar@mdsit.co.kr