A New Approach to Promote Safety in the Software Life Cycle

Document Type : Original Research (Full Papers)


1 Aerospace Research Institute (Ministry of Science, Research and Technology), Tehran, P.O.B. 14665-834, Iran. Department of Algorithms and Computation, College of Engineering Sciences, University of Tehran, Tehran, Iran

2 Aerospace Research Institute (Ministry of Science, Research and Technology), Tehran, P.O.B. 14665-834, Iran

3 Department of Algorithms and Computation, College of Engineering Sciences, University of Tehran, Tehran, Iran


Developing a reliable and safe system is one of the most important features of advanced computer-based systems. The software is often responsible for controlling the behavior of mechanical and electrical components as well as interactions between components in systems. Therefore, considering software safety and fault detection are essential in software development. This paper introduces an approach to engineering evidence that examines the software in its lifecycle according to the principles of software safety and system safety engineering. This approach ensures that software risks are identified and documented in the software lifecycle, after which the risks are reduced to an acceptable level in terms of safety according to the proposed methods. The presented approach was applied to a real master case with positive results, namely the Data and Command Unit.


[1]Farsi, M. A., "Develop an Adaptive Prognostic Approach for RUL Estimation", Technical Report, Aerospace Research Institute (Ministry of Science, Research and Technology) (2016). 
[2]Van Driel, W.D.; Schuld, M.; Wijgers, R.; Van Kooten, W.E.J., "Software reliability and its interaction with hardware reliability", In thermal, mechanical and multi-physics simulation and experiments in microelectronics and Microsystems (eurosime), IEEE 15th international conference, pp. 1-8 (2014). 
[3]Kooli, M.; Kaddachi, F.; Di Natale, G.; Bosio, A.; Benoit, P.; Torres, 
L., "Computing reliability: On the differences between software testing and software fault injection techniques", Microprocessors and Microsystems, vol. 50, pp.102-112 (2017). 
[4]Park, J.; Kim, H.J.; Shin, J.H.; Baik, J., "An embedded software reliability model with consideration of hardware related software failures", In Software Security and Reliability (SERE), IEEE 6th International Conference, pp: 207-214 (2012). 
[5]Lutz, R.R., "Software engineering for safety: a roadmap", ACM In Proceedings of the Conference on the Future of Software Engineering, pp. 213-226 (2000).  
[6]Habli, I.; Hawkins, R.; Kelly, T., "Software safety: relating software assurance and software integrity", International Journal of Critical Computer-Based Systems, vol. 1 no. 4, pp. 364-383 (2010). 
[7]Wong, W.E.; Debroy, V.; Restrepo, A., "The role of software in recent catastrophic accidents", IEEE reliability society 2009 annual technology report, vol. 59, no. 3 (2009). 
[8]Pertet, S.; Narasimhan, P., "Causes of failures in Web applications", Carnegie Mellon University: Parallel Data Lab, Technical Report CMU-PDL-05-109 (2005). 
[9]Bella, M. B.; Eloff, J. H., "A near-miss management system architecture for the forensic investigation of software failures", Forensic science international, vol. 259, pp. 234-245 (2016). 
[10]Oveisi, SH; Farsi, M.A, "Software Safety Analysis with UML-Based SRBD and Fuzzy VIKOR-Based FMEA", International Journal of Reliability, Risk and Safety: Theory and Application (ijrrs), vol. 1, pp.1-9 (2018) 
[11]NASA,1987, Software Safety: NASA Technical Standard, NASA-STD-8719.13A. 
[12]Albericoet, D. and et al. "JSSC Software System Safety Handbook; A Technical & Managerial Team Approach", (1999).  
[13]Department of Defense, System Safety Program Requirements, MIL-STD-882C (Department of Defense). 1984. 
[14]RTCA, SW Considerations in Airborne Sys. and Equip. Cert., RTCA/DO-178B (RTCA);1994.  
[15]MOD, Requirements for Safety Related Software in Defense Equipment; Part 1: Requirements; Part 2: Guidance, MOD DEF STD 00-55 (Ministry of Defense); 1997. 
[16]IEC, International Standard; Functional Safety of Electrical /Electronic /Programmable Electronic Safety-Related Systems – Part 3: Software Reqs., IEC 61508-3 ;1998. 
[17]MISRA, Development Guidelines for Vehicle Based Software (MISRA, November 1994). 
[18]Kuettner Jr, H. D.; Owen,  P. R, "Definition and Verification of Critical Safety Functions in Software", In Proceedings of the International System Safety Conference (ISSC), pp. 337-346 (2001).
[19]FAA system safety handbook, chapter; system software safety, December 2000. 
[20]NASA-STD-8719.13A NASA Software Safety Standard, September 1997. 
[21]Swarup, M. B.; Ramaiah, P. S., "A software safety model for safety-critical applications", International Journal of Software Engineering and Its Applications, vol. 3, no. 4, pp. 21-32 (2009).  
[22]Hiraoka, Y.; Murakami, T.; Yamamoto, K.; Furukawa, Y.; Sawada, 
H., "Method of Computer-Aided Fault Tree Analysis for High-Reliable and Safety Design", IEEE Transactions on Reliability, vol. 65, no. 2, pp. 687 – 703 (2016). 
[23]Farsi, M. A., Principles of Reliability Engineering (2016). 
[24]NASA-STD-8719.13A, NASA Software Safety Standard;1997. 
[25]NASA Software Management Guidebook, NASA-GB-001-96, November, 1996. 
[26]Mastrangelo, C., "Effective FMEAs: Achieving Safe, Reliable, and Economical Products and Processes Using Failure Mode and Effects Analysis", Journal of Quality Technology, 44.4: 395 (2012). 
[27]Wu, F. J.; Kao, Y. F.; Tseng, Y. C., "From wireless sensor networks towards cyber physical systems", Pervasive and Mobile computing, vol. 7, no. 4, pp. 397-413(2011). 
[28]Murali, D. V., "Verification of Cyber Physical Systems", Unpublished Master of Science Thesis. Virginia Polytechnic Institute and State University, Blacksburg (2013). 
[29]Oveisi, SH.; Ravanmehr, R., "Analysis of software safety and reliability methods in cyber physical systems", International journal of critical infrastructures, vol. 13, no. 1, pp. 1-15 (2017).  
[30]NASA Program and Project Management Processes and Requirements, NPG 7120.5A, (1998). 
[31]Czerny, B. J.; D'Ambrosio, J. G.; Murray, B. T.; Sundaram, P., "Effective application of software safety techniques for automotive embedded control systems", SAE transactions, pp. 194-204 (2005). 
[32]Oveisi, SH.; Ravanmehr, R., "Safety and reliability of software", Sanagostar (2017). 
[33]Czerny,  B. J.; D'Ambrosio,  J. G.; Jacob,  P. O.; Murray,  B. T.; Sundaram, P., "An Adaptable Software Safety Process for Automotive Safety-Critical Systems", SAE Technical Paper (2004). 
[34]Oveisi, SH.; Ravanmehr, R., SFTA-Based Approach for Safety/Reliability Analysis of Operational Use-Cases in Cyber-Physical Systems", Journal of Computing and Information Science in Engineering, vol. 17, no. 3 (2017). 
[35]Li, S.; Duo, S., "Safety analysis of software requirements: model and process", Procedia Engineering, vol. 80, pp. 153-164 (2014). 
[36]Johansson, C., "On System Safety and Reliability in Early Design Phases: Cost Focused Optimization Applied on Aircraft Systems", Doctoral dissertation, Linköping University Electronic Press (2013). 
[37]Jet Propulsion Laboratory, Software Systems Safety Handbook. 
[38]Lawrence, J. D., "Software safety hazard analysis (No. NUREG/CR--6430)", Nuclear Regulatory Commission (1996). 
[39]Oveisi, SH; Farsi, M. A, "Software Assurance for aerospace systems", Technical Report, Aerospace Research Institute (Ministry of Science, Research and Technology (2018). 
[40]Plattsmier, G.; Stetson, H., "Autonomous real time requirements tracing", In IEEE Aerospace Conference, PP. 1-9 (2014).  
[41]Department of Defense, Software System Safety Handbook, A Technical & Managerial Team Approach, Dec. 1999, by Joint Software System Safety Committee.  
[42]Pham, H., "System Software Reliability", in Springer series in Reliability Engineering, vol. 79, London, Springer, pp. 45-52 (2006). 
[43]Cinque, M.; Cotroneo, D.; Pecchia, A., "Event logs for the analysis of software failures: A rule-based approach", IEEE Transactions on Software Engineering, vol. 39, no. 6, pp. 806-821 (2013). 
[44]Garrett, C. J.; Guarro, S. B; Apostolakis,  G. E., "The dynamic flowgraph methodology for assessing the dependability of embedded software systems", IEEE Transactions on Systems, Man, and Cybernetics, vol. 25, no. 5, pp. 824-840 (1995).