Towards Applying a Safety Analysis and Verification Method Based on STPA to Agile Software Development

Abstract

Agile methodologies are becoming widespread in modern software development. However, due to a lack of safety assurance activities, agile methods are criticized for being inadequate for the development of safe software. Safety analysis and safety verification are complementary methods for safety assurance. Yet, both usually rely on traditional, waterfall-like processes. Therefore, it is strongly needed to integrate an appropriate safety analysis approach into agile software development processes driving architecture design and verify the safe design at the code level. This paper presents a novel agile process model "S-Scrum" based on the existing development process "Safe Scrum" and extended by a safety analysis method and a safety verification approach based on STPA (System-Theoretic Process Analysis). The proposed agile development process S-Scrum can be separated into three parts: (1) performing safety-guided design by STPA inside each sprint. (2) Verifying safety requirements at the code level by using model checking. (3) Replacing traditional RAMS (Reliability, Availability, Maintainability, Safety) validation on the final product by STPA safety analysis. We adopt other aspects from the original Safe Scrum. Finally, the feasibility of S-Scrum is illustrated with the example of an airbag system.

DOI: 10.1145/2896941.2896948

6 Figures and Tables

Cite this paper

@article{Wang2016TowardsAA, title={Towards Applying a Safety Analysis and Verification Method Based on STPA to Agile Software Development}, author={Yang Wang and Stefan Wagner}, journal={2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)}, year={2016}, pages={5-11} }