Defensive Programming Practices ?


Defensive programming practice는 software의 robustness와 관련이 있다.

  1. Avoidance of input data errors
    • bounds check
    • data type, scaling, loss of precision
    • run time checks
  2. Avoidance of non-determinism
    • banning self-modifying code
    • minimizing memory paging
    • avoiding dynamic binding
    • explicit initialization
  3. Avoidance of complexity
    • maximize cohesion, minimize coupling
    • minimize use of interrupt-driven processing
    • minimize use of multi-tasking, multi tasking
  4. Avoidance of interface errors
    • mininize global variables
  5. Avoidance of logic errors
    • avoid using expression with side effects(such as short circuit expression,,,)

 

참고자료: 

Supporting Information for DO-178C and DO-278A(DO-248C)

Review Guidelines on Software Languages for Use in Nuclear Power Plant Safety Systems – Final Report (NUREG/CR-6463)

 

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중