|Abstract:||Analysis of software fault trees exposes hardware and software failure events that can lead to unsafe system states, and provides insight on improving safety
throughout each phase of a system's development. Although fault trees can be pruned for low severity and low probability nodes, few techniques exist for systematically improving system safety by focusing on cost analysis of a system's fault tree nodes.
This paper presents an algorithm for system failure mitigation, supportive of continuous software evolution, based on the reduction of a fault tree into a
polynomial expression of degree g, where g is the number of inputs. We combine cost functions that model the expense of improving component reliability into a vector field which provides a measurement of the degree of diffculty of system improvement. The gradient of the vector field is evaluated for vectors providing steep assent towards the area of greatest safety improvement, which in turn provides guidance on improving design time system safety. We provide an example application of our improvement algorithm, and examine improvement verification of the resulting system modifications.|