Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+security

Defensive Programming

This

...

chapter contains guidelines for defensive programming.  Defensive programming is carefully guarded programming that helps you construct reliable software by designing each component so it protects itself as much as possible, for example, by checking that undocument assumptions remain valid [Goodliffe 2006]. 

  1. Recommended for enhancing security and reliability
  2. Involve discussions about good design / encapsulation etc. rather than very specific implementation advice
  3. Have no normative requirements and are ideally language neutral

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
typepage
labels+defensive

...

Program Understandability

This category includes guidelines that are

...

Program understandability is the ease with which the program can be understood, that is, the ability to determine what a program does and how it works by reading its source code and accompanying documentation [Grubb 2013].   Another term used to describe this property of source code is readability.  Understandable code is easier to maintain, in that software maintainers are less likely to introduce defects of the code is clear and comprehensible.  Understandability helps in manual analysis of source code because it allows the auditor to more easily spot defects and vulnerabiltiies. 

 

...

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+oversight

...

Content by Label
showLabelsfalse
max99
spaces@self
sorttitle
showSpacefalse
labels+misconception