2. The Search for Dependable Software

Many steps have to be taken to combat the problems of poor software. Proper system specification, defined design methods, high-level language support, and good development tools all contribute toward a solution. However, to appreciate their use (instead of merely knowing what they do), we must understand what they aim to achieve. To answer that, we need to know where, why, and how software problems arise. Then, at least, we can define the features of software and software design that can eliminate such problems.

The aims of this chapter are to:

  • Show where, why, and how software errors arise
  • Explain why, in the real world, the development of fault-free systems cannot be achieved
  • Distinguish between ...

Get The Complete Edition – Software Engineering for Real-Time Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.