Reliability Analysis in Symbolic Pathfinder

Antonio Filieri, Corina S. Păsăreanu, and Willem Visser

Politecnico di Milano, Italy; CMU, USA; NASA Ames Research Center, USA; Stellenbosch University, South Africa

Track: Technical Research
Session: Reliability
Software reliability analysis tackles the problem of predicting the failure probability of software. Most of the current approaches base reliability analysis on architectural abstractions useful at early stages of design, but not directly applicable to source code. In this paper we propose a general methodology that exploit symbolic execution of source code for extracting failure and success paths to be used for probabilistic reliability assessment against relevant usage scenarios. Under the assumption of finite and countable input domains, we provide an efficient implementation based on Symbolic PathFinder that supports the analysis of sequential and parallel programs, even with structured data types, at the desired level of confidence. The tool has been validated on both NASA prototypes and other test cases showing a promising applicability scope.