Preprint Article Version 1 Preserved in Portico This version is not peer-reviewed

Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience

Version 1 : Received: 5 January 2021 / Approved: 6 January 2021 / Online: 6 January 2021 (11:45:48 CET)

How to cite: Prakash, B. Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience. Preprints 2021, 2021010113. https://doi.org/10.20944/preprints202101.0113.v1 Prakash, B. Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience. Preprints 2021, 2021010113. https://doi.org/10.20944/preprints202101.0113.v1

Abstract

Studies have found critical software malfunctions responsible for some of the worst accidents in recent times. These malfunctions are often only minor defects that snowball into large problems; a few lines of code is all it takes. Complexity, safety, quality, and resilience are among the key attributes defining a software’s operational success. There are many leading factors for complexity, such as increases in the product size, the rate of requirement changes, and the number and type of stakeholders, and failure to manage these issues efficiently always has the same consequence, i.e., massive failure and sometimes technological catastrophe. This work analyzes some of the architecture, design, and implementation guidelines used as detection and mitigation techniques. It also discusses the safety considerations, as considering how the steam industry has handled safety issues could offer some guidance for ensuring safety. Complexity in such systems also causes some of the worst side effects from the quality auditor's perspective. While failures in the software are hard to predict, one of the most significant ways of showing preparedness is practicing software resilience. New mitigation areas, such as the fragility spectrum and failure obviation, and their usage for building a safer system are analyzed. Also discussed are various architecture styles in practice and the dramatic effect human factors can have on the success of the software being developed.

Keywords

Complexity Analysis & Mitigation; Software Architecture & Design, Safety; Quality; Fragility; Failure Obviation

Subject

Computer Science and Mathematics, Algebra and Number Theory

Comments (0)

We encourage comments and feedback from a broad range of readers. See criteria for comments and our Diversity statement.

Leave a public comment
Send a private comment to the author(s)
* All users must log in before leaving a comment
Views 0
Downloads 0
Comments 0
Metrics 0


×
Alerts
Notify me about updates to this article or when a peer-reviewed version is published.
We use cookies on our website to ensure you get the best experience.
Read more about our cookies here.