A Software Safety Verification Method Based on System-Theoretic Process Analysis

Modern safety-critical systems are increasingly reliant on software. Software safety is an important aspect in developing safety-critical systems, and it must be considered in the context of the system level into which the software will be embedded. STPA (System-Theoretic Process Analysis) is a modern safety analysis approach which aims to identify the potential hazardous causes in complex safety-critical systems at the system level. To assure that these hazardous causes of an unsafe software’s behaviour cannot happen, safety verification involves demonstrating whether the software fulfills those safety requirements and will not result in a hazardous state. We propose a method for verifying of software safety requirements which are derived at the system level to provide evidence that the hazardous causes cannot occur (or reduce the associated risk to a low acceptable level). We applied the method to a cruise control prototype to show the feasibility of the proposed method.

[1]  Nancy G. Leveson,et al.  An investigation of the Therac-25 accidents , 1993, Computer.

[2]  Paul Ammann,et al.  Using model checking to generate tests from specifications , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[3]  Paul E. Black Test Generation Using Model Checking and Specification Mutation , 2014, IT Professional.

[4]  Nancy G. Leveson,et al.  Safety verification of Ada programs using software fault trees , 1991, IEEE Software.

[5]  Nancy G. Leveson,et al.  Safety-Driven Design for Software-Intensive Aerospace and Automotive Systems , 2010, Proceedings of the IEEE.

[6]  Bishop Brock,et al.  Formally specifying and mechanically verifying programs for the Motorola complex arithmetic processor DSP , 1997, Proceedings International Conference on Computer Design VLSI in Computers and Processors.

[7]  Anders P. Ravn,et al.  From Safety Analysis to Software Requirements , 1998, IEEE Trans. Software Eng..

[8]  Nancy G. Leveson,et al.  Hazard Analysis of Complex Spacecraft Using Systems-Theoretic Process Analysis , 2014 .

[9]  John A. McDermid,et al.  Issues in developing software for safety critical systems , 1991 .

[10]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[11]  Asim Abdulkhaleq,et al.  Experiences with applying STPA to software-intensive systems in the automotive domain , 2013 .

[12]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[13]  Nancy G. Leveson,et al.  Engineering a Safer World: Systems Thinking Applied to Safety , 2012 .

[14]  Asim Abdulkhaleq,et al.  Open tool support for System-Theoretic Process Analysis , 2014 .

[15]  Rohit Kapur CTL for Test Information of Digital ICS , 2002 .

[16]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.