SEDSR: Soft Error Detection Using Software Redundancy


This paper presents a new method for soft error detection using software redundancy (SEDSR) that is able to detect transient faults. Soft errors damage the control flow and data of programs and designers usually use hardware-based solutions to handle them. Software-based techniques for soft error detection force less cost and delay to systems and do not change their configuration. Therefore, these kinds of methods are appropriate alternatives for hardware-based techniques. SEDSR has two separate parts for data and control flow errors detection. Fault injection method is used to compare SEDSR with previous methods of this field based on the new parameter of “Evaluation Factor” that takes in account fault coverage, memory and performance overheads. These parameters are important in real time safety critical applications. Experimental results on SPEC2000 and some traditional benchmarks of this field show that SEDSR is much better than previous methods of this field. SEDSR’s evaluation factor is about 50% better than other methods of this field. These results show its success in satisfaction of the existing tradeoff between fault coverage, performance and memory overheads.

Share and Cite:

Amir Asghari, S. , Abdi, A. , Taheri, H. , Pedram, H. and Pourmozaffari, S. (2012) SEDSR: Soft Error Detection Using Software Redundancy. Journal of Software Engineering and Applications, 5, 664-670. doi: 10.4236/jsea.2012.59078.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] N. Oh, P. P. Shirvani and E. J. McClusky, “Control Flow Checking by Software Signature,” IEEE Transaction on Reliability, Vol. 51, No. 2, 2002, pp. 111-122. doi:10.1109/24.994926
[2] A. Mahmood, “Concurrent Error Detection Using Watch-dog Processors—A Survey,” IEEE Transaction on Computers, Vol. 37, No. 2, 1988, pp. 160-174. doi:10.1109/12.2145
[3] A. Rajabzadeh and G. Miremadi, “CFCET: A Hardware Based Control Flow Checking Technique in COTS Processors Using Execution Training,” Elsevier Journal on Computer Microelectronics and Reliability, Vol. 46, 2006, pp. 959-972.
[4] N. Oh, P. P. Shirvani and E. J. McCluskey, “Error Detection by Duplicated Instructions in Super-Scalar Processors,” IEEE Transaction on Reliability, Vol. 51, No. 1, 2002, pp. 63-75. doi:10.1109/24.994913
[5] N. Oh, M. Subhasish and E. J. McCluskey, “ED4I: Error Detection by Diverse Data and Duplicated Instructions,” IEEE Transaction on Computers, Vol. 51, No. 2, 2002, pp. 180-199. doi:10.1109/12.980007
[6] B. Nicolescu and R. Velazco, “Detecting Soft Errors by a Purely Software Approach: Method, Tools and Experimental Results,” Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, Munich, 3-7 March 2003.
[7] A. Li and B. Hong, “On-Line Control Flow Error Detection Using Relationship Signatures among Basic Blocks,” Elsevier Computers and Electrical Engineering, Vol. 36, No. 1, 2010, pp. 132-141. doi:10.1016/j.compeleceng.2008.08.010
[8] A. Li and B. Hong, “Software Implemented Transient Fault Detection in Space Environments,” Elsevier Aerospace science and technology, Vol. 11, No. 2-3, 2007, pp. 245-252.
[9] Z. Alkhalifa, V. S. S. Nair, N. Krishnamurthy and J. A. Abraham, “Design and Evaluation of System-Level Checks for On-Line Control Flow Error Detection,” IEEE Transactions on Parallel Distributed Systems, Vol. 10, No. 6, 1999, pp. 627-641. doi:10.1109/71.774911
[10] J. L. Li, Q. P. Tan and J. J. Xu, “A Software-Implemented Configurable Control Flow Checking Method,” International Symposium on Parallel Archirectures, Algorithmes and Programming, IEEE Computer Society, Washington, 2010, pp. 199-205.
[11] A. Vemu and J. Abraham, “CEDA: Control-Flow Error Detection through Assertions,” IEEE Transaction on Computer, Vol. 60, No. 9, 2011, pp. 1233-1245. doi:10.1109/TC.2011.101
[12] A. S. Tanenbaum, J. N. Herder and H. Bos, “Can We Make Operating System Reliable and Secure?” IEEE Magazine, Vol. 39, No. 5, 2006, pp. 44-51.
[13] S. A. Asghari, H. Pedram, H. Taheri and M Khademi, “A New Background Debug Mode Based Technique for Fault Injection in Embedded Systems,” International Review on Modeling and Simulation, Vol. 3, No. 3, 2010, pp. 415-422.
[14] J. Henning, “SPEC CPU2000: Measuring CPU Performance in the new Millennium,” Computer, Vol. 33, No. 7, 2000, pp. 28-35. doi:10.1109/2.869367

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.