Efficient Software Component Reuse in Safety-Critical Systems - An Empirical Study

The development of software components to be reused in safety-critical systems involves a number of challenges. These are related to both the goals of using the component in several systems, with different definitions of system-specific hazards, and on the high demands of today's safety standards, which assume a top-down system and software development process. A large part of the safety-related activities is therefore left for integrator, and there is a risk that a pre-existing component will neither be feasible nor more efficient to use than internal development of the same functionality. In this paper we address five important challenges, based on an empirical study consisting of interviews with experts in the field, and a case study. The result is twelve concrete practices found to improve the overall efficiency of such component development, and their subsequent reuse. These are related to the component architecture and configuration interface, component and system testing and verification, and the information to be provided with the component.

[1]  Robyn R. Lutz,et al.  Fault contribution trees for product families , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[2]  Gabriel A. Moreno,et al.  Enabling predictable assembly , 2003, J. Syst. Softw..

[3]  Hoyt Lougee Reuse and DO-178B Certified Software: Beginning With Reuse Basics , 2004 .

[4]  Iain Bate,et al.  A Contract-based Approach to Designing Safe Systems , 2003, SCS.

[5]  Magnus Larsson,et al.  Predicting Quality Attributes in Component-based Software Systems , 2004 .

[6]  Iain Bate,et al.  Component-Based Safety Analysis of FPGAs , 2010, IEEE Transactions on Industrial Informatics.

[7]  Stephen H. Edwards,et al.  Formal Foundations of Reuse and Domain Engineering, 11th International Conference on Software Reuse, ICSR 2009, Falls Church, VA, USA, September 27-30, 2009. Proceedings , 2009, ICSR.

[8]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[9]  Hong Mei,et al.  High Confidence Software Reuse in Large Systems, 10th International Conference on Software Reuse, ICSR 2008, Beijing, China, May 25-29, 2008, Proceedings , 2008, ICSR.

[10]  Rikard Land,et al.  Towards Systematic Software Reuse in Certifiable Safety-Critical Systems , 2009 .

[11]  Tim Kelly,et al.  INVESTIGATING THE USE OF ARGUMENT MODULARITY TO OPTIMISE THROUGH-LIFE SYSTEM SAFETY ASSURANCE , 2008 .

[12]  Ivica Crnkovic,et al.  COTS Selection Best Practices in Literature and in Industry , 2008, ICSR.

[13]  Even-André Karlsson,et al.  Software reuse: a holistic approach , 1995 .

[14]  J. Wlad Software Reuse in Safety-Critical Airborne Systems , 2006, 2006 ieee/aiaa 25TH Digital Avionics Systems Conference.

[15]  Jeffrey M. Voas Why is it so hard to predict software system trustworthiness from software component trustworthiness? , 2001, Proceedings 20th IEEE Symposium on Reliable Distributed Systems.

[16]  Daniel Sundmark,et al.  Reuse with Software Components - A Survey of Industrial State of Practice , 2009, ICSR.