LESSONS FROM ENGINEERING - Can Software Benefit from Product based Evidence of Reliability?

Neal Snooke

2010

Abstract

This paper argues that software engineering should not overlook the lessons learned by other engineering disciplines with longer established histories. As software engineering evolves it should focus not only on application functionality but also on mature engineering concepts such as reliability, dependability, safety, failure mode analysis, and maintenance. Software is rapidly approaching the level of maturity that other disciplines have already encountered where it is not merely enough to be able to make it work (sometimes), but we must be able to objectively assess quality, determine how and when it can fail and mitigate risk as necessary. The tools to support these tasks are in general not integrated into the design and implementation stages as they are for other engineering disciplines although recent techniques in software development have the potential to allow new types of analysis to be developed and integrated so that software justify its claim to be engineered. Currently software development relies primarily on development processes and testing to achieve these aims; but neither of these provide the hard design and product analysis that engineers find essential in other disciplines. This paper considers how software can learn from other engineering analyses and investigates failure modes and effects analysis as an example.

References

  1. Bell, J., Snooke, N. A., and Price, C. J. (2007). A language for functional interpretation of model based simulation. Advanced Engineering Informatics, 21(4):398- 409.
  2. Bowles, J. B. (2001). Failure modes and effects analysis for a small embedded control system. In Annual Reliability and Maintainability Symposium, pages 1-6. IEEE.
  3. Chen, R., Kob, D., and Wotawa, F. (2004). Exploiting static abstraction of data structures for debugging. In MONET Workshop on Model-Based Systems at ECAI 2004, Valencia, Spain.
  4. Chen, R. and Wotawa, F. (2003). Debugging with an enriched dependency-based model or how to distinguish between aliasing and value assignment. In Proceedings of the International Workshop on Qualitative Reasoning (QR-2003), Brasilia, Brazil.
  5. Corbett, J. C. (2000). Using shape analysis to reduce finite-state models of concurrent Java programs. ACM Transactions on Software Engineering and Methodology, 9(1):51-93.
  6. Czerney, B., D'Ambrosio, J., Murray, B. T., and P.Sundaram (2005). Effective application of software safety techniques for automotive embedded control systems. In SAE 2005 World Congress and Exhibition.
  7. Goddard, P. L. (2000). Software FMEA techniques. In Reliability and Maintainability Symposium, pages 118- 123. IEEE, IEEE.
  8. IEC61508 (1998). Functional Safety of Electrical / Electronic / Programmable Electronic Safety-related Systems (IEC 61508). International Electrotechnical Commission, International Electrotechnical Commission, 3 rue de Varembé, Geneva, Switzerland, http://www.iec.org.ch edition.
  9. Iwu, F., Galloway, A., McDermid, J., and Toyn, I. (2007). Integrating safety and formal analyses using UML and PFS. Reliability Engineering and System Safety, 92(2):156-170.
  10. Lee, M. and Ormsby, A. (1993). Qualitative modelling of the effects of electrical circuit faults. Artificial Intelligence in Engineering, 8:293-300.
  11. Leveson, N. G. (2004). A systems-theoretic approach to safety in software-intensive systems. IEEE Trans. on Dependable and Secure Computing, 1(1):66-86.
  12. Mateis, C., Stumptner, M., and Wotawa, F. (1999). Debugging of java programs using a model-based approach. In 10th International Workshop on the Principles of Diagnosis (DX'99), pages 166-173.
  13. McDermid, J. (2001). Software safety: Where's the evidence? In 6th Australian Workshop on Industrial Experience with Safety Critical Systems (SCS 7801). Australian Computer Society. Available: http://wwwusers.cs.york.ac.uk/ jam/.
  14. Nguyen, D. (2001). Failure modes and effects analysis for software reliability. In Annual Reliability and Maintainability Symposium, pages 219-222. IEEE.
  15. Ozarin, N. and Siracusa, M. (2002). A process for failure modes and effects analysis of computer software. In Annual Reliability and Maintainability Symposium. IEEE.
  16. Price, C. J., Pugh, D. R., Snooke, N. A., Hunt, J. E., and Wilson, M. S. (1997). Combining functional and structural reasoning for safety analysis of electrical designs. Knowledge Engineering Review, 12(3):271- 287.
  17. Raheja, D. (2005). Software FMEA: A missing link in design for robustness. In SAE 2005 World Congress and Exhibition. SAE International.
  18. SAE-JA1003 (2004). Software Reliability Program Implementation Guide. Society of Automotive Engineers, http://www.sae.org/technical/standards/ja1003 200401 edition.
  19. Sagiv, M., Reps, T., and Wilhelm, R. (1998). Solving shape-analysis problems in languages with destructive updating. ACM Transactions on Programming Languages and Systems, 20(1):1-50.
  20. Snooke, N. and Price, C. J. (April, 2008). An automated software FMEA. In Proc. International System Safety Regional Conference (ISSRC 2008), Singapore.
  21. Voas, J. M. (1992). Pie: A dynamic failure-based technique. IEEE Transactions on Software Engineering, 18:717- 727.
Download


Paper Citation


in Harvard Style

Snooke N. (2010). LESSONS FROM ENGINEERING - Can Software Benefit from Product based Evidence of Reliability? . In Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-23-2, pages 238-244. DOI: 10.5220/0003039102380244


in Bibtex Style

@conference{icsoft10,
author={Neal Snooke},
title={LESSONS FROM ENGINEERING - Can Software Benefit from Product based Evidence of Reliability?},
booktitle={Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2010},
pages={238-244},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003039102380244},
isbn={978-989-8425-23-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - LESSONS FROM ENGINEERING - Can Software Benefit from Product based Evidence of Reliability?
SN - 978-989-8425-23-2
AU - Snooke N.
PY - 2010
SP - 238
EP - 244
DO - 10.5220/0003039102380244