12.4 Application Software Aspects
12.4.1 Basic Design and Programming Issues (or Doing It Right in the First Place)
The advice given here is mainly intended to stop you from getting into trouble in the first place, that is, fault prevention:
- Use rigorous design techniques.
- Use well-ordered program structures.
- Develop and use good programming standards. Produce readable code.
- Where possible, use programming languages designed for critical applications. For safety-critical work, first consider Spark Ada.
- If this isn't possible, use languages or language subsets that provide high levels of integrity (for example, Ada, MISRA C, and JSF C++).
- If even this isn't possible, use appropriate development tools (for example, Lint for C) to check for code quality (but if this is your chosen route for safety-critical projects, great care is needed).
- Do not, in normal code, use unconditional transfers of program control (these may be implemented explicitly...