The landscape of software failure cause models
This work structures the research field for software engineers, identifying gaps in failure cause modeling, but it is incremental as it synthesizes existing literature without introducing new methods.
The authors conducted a meta-study to classify software failure cause models from 156 publications, finding that most focus on source code defects while models for fault-activating conditions and error states are rare, with research primarily driven by testing and code improvement needs.
The software engineering field has a long history of classifying software failure causes. Understanding them is paramount for fault injection, focusing testing efforts or reliability prediction. Since software fails in manifold complex ways, a broad range of software failure cause models is meanwhile published in dependability literature. We present the results of a meta-study that classifies publications containing a software failure cause model in topic clusters. Our results structure the research field and can help to identify gaps. We applied the systematic mapping methodology for performing a repeatable analysis. We identified 156 papers presenting a model of software failure causes. Their examination confirms the assumption that a large number of the publications discusses source code defects only. Models of fault-activating state conditions and error states are rare. Research seems to be driven mainly by the need for better testing methods and code-based quality improvement. Other motivations such as online error detection are less frequently given. Mostly, the IEEE definitions or orthogonal defect classification is used as base terminology. The majority of use cases comes from web, safety- and security-critical applications.