Skip to main content

Achieving Highly Reliable Embedded Software: An Empirical Evaluation of Different Approaches

  • Conference paper
Computer Safety, Reliability, and Security (SAFECOMP 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4680))

Included in the following conference series:

  • 2028 Accesses

Abstract

Designing highly reliable embedded software is a challenge and several approaches are known to improve the reliability of this software. However, all approaches have their advantages and disadvantages which makes empirical evaluations investigating their potentials necessary. In this paper, different approaches of software reliability improvement for embedded systems were compared on basis of experiments conducted at our institute. The first approach is an instance of N-version programming based on forced diversity. Two fundamentally diverse hardware platforms (microcontroller and CPLD/FPGA) were used to force diversity. Another experiment was conducted in which participants designed their software on one hardware platform only. The second half of this experiment was used for review and testing. Based on our experiments, the potentials of our application of N-version programming, review and testing are compared with respect to different fault categories (specification, implementation, application) identified during evaluation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Bentley, J., Bishop, P., van der Meulen, M.: An empirical exploration of the difficulty function. In: Heisel, M., Liggesmeyer, P., Wittmann, S. (eds.) SAFECOMP 2004. LNCS, vol. 3219, Springer, Heidelberg (2004)

    Google Scholar 

  2. Cai, X., Lyu, M.R.: An empirical study on reliability modeling for diverse software systems. In: 15th International Symposium on Software Reliability Engineering (ISSRE) (2004)

    Google Scholar 

  3. Chen, L., Avizienis, A.: On the implementation of n-version programming for software fault tolerance during program execution. In: International Computer Software and Applications Conference (COMPSAC) (1977)

    Google Scholar 

  4. Fagan, M.: Design and code inspections to reduce errors in program development. Technical report, IBM (1976)

    Google Scholar 

  5. Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multiversion programming. IEEE Trans. Softw. Eng. 12 (1986)

    Google Scholar 

  6. Littlewood, B., Miller, D.R.: Conceptual modeling of coincident failures in multiversion software. IEEE Trans. Softw. Eng.  (1989)

    Google Scholar 

  7. Littlewood, B., Popov, P., Strigini, L.: A note on modelling functional diversity. Reliability Engineering an System Safety  (1999)

    Google Scholar 

  8. Lyu, M.R., He, Y.-T.: Improving the n-version programming process through the evolution of a design paradigm. IEEE Transactions on Reliability 42 (1993)

    Google Scholar 

  9. Parnas, D.L., van Schouwen, J., Kwan, S.P.: Evaluation of safety-critical software. Communications of the ACM 33, 636–648 (1990)

    Article  Google Scholar 

  10. Salewski, F., Kowalewski, S.: Achieving highly reliable embedded software: An empirical evaluation of different approaches. Technical Report AIB-2007-08, Dep. of Computer Science, RWTH Aachen University (2007)

    Google Scholar 

  11. Salewski, F., Kowalewski, S.: Testing issues in empirical reliability evaluation of embedded real-time systems. Technical Report WUCSE-2007-17: Proceedings of the Work-In-Progress Session of RTAS’07, Dep. of Computer Science & Engineering, Washington University in St. Louis (2007)

    Google Scholar 

  12. Salewski, F., Wilking, D., Kowalewski, S.: Diverse hardware platforms in embedded systems lab courses: A way to teach the differences. In: First Workshop on Embedded System Education (WESE), vol. 2, SIGBED Review (2005)

    Google Scholar 

  13. Salewski, F., Wilking, D., Kowalewski, S.: The effect of diverse hardware platforms on n-version programming in embedded systems - an empirical evaluation. In: 3rd International Workshop on Dependable Embedded Sytems (WDES) (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Francesca Saglietti Norbert Oster

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Salewski, F., Kowalewski, S. (2007). Achieving Highly Reliable Embedded Software: An Empirical Evaluation of Different Approaches. In: Saglietti, F., Oster, N. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2007. Lecture Notes in Computer Science, vol 4680. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75101-4_26

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75101-4_26

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-75100-7

  • Online ISBN: 978-3-540-75101-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics