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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
Fagan, M.: Design and code inspections to reduce errors in program development. Technical report, IBM (1976)
Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multiversion programming. IEEE Trans. Softw. Eng. 12 (1986)
Littlewood, B., Miller, D.R.: Conceptual modeling of coincident failures in multiversion software. IEEE Trans. Softw. Eng. (1989)
Littlewood, B., Popov, P., Strigini, L.: A note on modelling functional diversity. Reliability Engineering an System Safety (1999)
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)
Parnas, D.L., van Schouwen, J., Kwan, S.P.: Evaluation of safety-critical software. Communications of the ACM 33, 636–648 (1990)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)