Software Fault Injection cover

Software Fault Injection:
Innoculating Programs Against Errors

by Jeffrey Voas and Gary McGraw
Published by John Wiley & Sons
ISBN 0-471-18381-4
416 pages, 1997

Ordering:
Search online stores for the best price

What is Software Fault Injection?
Software development is a peculiar process, half science and half art. Now that software is doing things like controlling airplanes, the artsy part had better be backed by solid engineering practice. Consumers are no longer satisfied with code that mostly works. Fault injection is a useful tool in developing high quality, reliable code. Its ability to reveal how software systems behave under experimentally controlled anomalous circumstances makes it an ideal crystal ball for predicting how badly good software can behave.

This complete, how-to guide to a revolutionary new approach to software analysis gets developers, programmers, and managers up to speed on cutting-edge fault injection techniques. Fault-injection pioneers Jeffrey Voas and Gary McGraw use real-world case studies and code to demonstrate the unique benefits and challenges associated with these techniques. Fault injection is useful in multiple domains including:

  • Testing - predicting where faults are most likely to hide
  • Safety - simulating failures in real software environments and estimating worst-case scenarios
  • Law - predicting the level of liability incurred by a piece of code
  • Security - uncovering potential security vulnerabilities during the development cycle
  • Reuse - obtaining a more accurate read on crucial maintenance and reuse issues
  • Engineering - seamlessly introducing fault-injection into your software process

Related Technical Articles
(
PostScript Help)


Table of Contents

    Preface
  1. Software Assurance: Why Code Behavior Matters
  2. Setting the Stage: History and Basic Definitions
  3. Fault Injection Fundamentals: Implementing Anomalies for Inputs, Outputs, and Everything In Between
  4. Software Mutation: Invasive Injections Simulating Programmer Faults
  5. Software Testability: Ferreting Out Faults with Pie
  6. Software Safety: Hiding Faults with EPA
  7. Applied Safety Assessment: EPA Meets The Real World
  8. Information Security: Simulating Attacks With AVA
  9. Maintenance and Reuse: Software Life Support
  10. Advanced Fault Injection: Icing On The Fault Injection Cake
  11. Inoculating Real-World Software: Getting Started with Fault Injection
    Appendix A: Using The CD-ROM -- Safetynet and Mothra.