At the beginning of chapter 3 of Engineering Safe and Secure Software Systems, author Warren Axelrod (full disclosure: Warren is a friend of mine) quotes two experts who observe that “software engineering is still an oxymoron” and “software engineering, as originally envisioned, does not yet exist”. With such a stipulation it would seem there is little value in writing (and reading) such a book.
Notwithstanding the existing difficulties, Engineering Safe and Secure Software Systems is a valuable book in that it tackles both the topics of software safety and security.
The book notes the difference between the two is that safety-critical software is that where the software must not harm the world; and security-critical software is that where the world must not harm the software. That difference is significant and not simply that of semantics.
As so many cars, refrigerators, defibrillators and everything in between have or will shortly have IP addresses; the effective and secure design of software systems is an imperative.
One area where noted security researcher Barnaby Jack was pursuing before his untimely death was software exploits in medical devices.
Earlier this year in fact, the FDA sent a report to medical tech manufacturers warning against backdoors in their systems. The FDA notified them of security flaws that could allow an attacker access to the internals of the systems that could results in life-ending conditions. These are the types of crucial issues that the books details and suggests methods in which to secure.
While it is under 250 pages, the book though is an extremely concentrated book that contains a wealth of valuable information.
Engineering Safe and Secure Software Systems is an important book that should be read by anyone in software development. Especially those looking to ensure that the code they develop is both safe and secure, and the ensuring software does not kill anyone.