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. Preprints2021, 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
Prakash, B. Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience. Preprints2021, 2021010113. https://doi.org/10.20944/preprints202101.0113.v1
APA Style
Prakash, B. (2021). Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience. Preprints. https://doi.org/10.20944/preprints202101.0113.v1
Chicago/Turabian Style
Prakash, B. 2021 "Software Failure Analysis and Mitigation Techniques: Featuring Complexity, Safety, Quality and Resilience" Preprints. 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.
Computer Science and Mathematics, Algebra and Number Theory
Copyright:
This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.