This book reviews existing operational software failure analysis techniques and proposes near-miss analysis as a novel, and new technique for investigating and preventing software failures. The authors provide details on how near-miss analysis techniques focus on the time-window before the software failure actually unfolds, so as to detect the high-risk conditions that can lead to a major failure. They detail how by alerting system users of an upcoming software failure, the detection of near misses provides an opportunity to collect at runtime failure-related data that is complete and relevant. They present a near-miss management systems (NMS) for detecting upcoming software failures, which can contribute significantly to the improvement of the accuracy of the software failure analysis. A prototype of the NMS is implemented and is discussed in the book. The authors give a practical hands-on approach towards doing software failure investigations by means of near-miss analysis that is ofuse to industry and academia