An Enhanced Method for Detecting Control Flow Errors Caused by Soft Errors in the Processors Running the Programs

Document Type : Persian Original Article

Authors

1 Computer Dept., ECE

2 Computer Dept., ECE, Babol Noshirvani Univ. of Tech., Babol, Iran

Abstract

The processing systems utilized in the satellites or nuclear reactors are highly susceptible to produce wrong results because of the existence of different radiations. In this paper, a new method is proposed for enhancing the program executions on the fault-prone processors in extreme environments. The main goal is the detection of control flow errors caused by soft errors that maybe produced by transient faults occurred in the underlying hardware. This method detects the errors by recognizing the deviations from the proper program flow execution. The proposed method operates by allocating two specific signatures and at most three control instructions to each basic block inside a program. This way, many control flow errors are detected. The experimental results based on the simulation of the proposed method together with the previous methods show that the proposed method detects the control flow errors better than the previous methods with respect to three main parameters including fault coverage, performance overhead and memory overhead.

Keywords


[1]     P. Shirvani, N. Saxena, and E. McCluskey, “Software-implemented EDAC protection against SEUs”, IEEE Trans. on Reliability, vol. 49, no. 3, pp. 273–284, 2000.
[2]     A. Shrivastava, A. Rhisheekesan, R. Jeyapaul, and C.-J. Wu, “Quantitative Analysis of Control Flow Checking Mechanisms for Soft Errors”, 51th ACM/EDAC/IEEE Design Automation Conf. (DAC), pp. 1–6, 2014.
[3]     D. Zhu and H. Aydin, “Reliability Effects of Process and Thread Redundancy on Chip Multiprocessors”, Proc. 36th Annu. IEEE/IFIP Int. Conf. Dependable Systems and Networks, pp. 212–213, 2006.
[4]      طاهره برومند نژاد، محمد عبداللهی ازگمی، شاهرخ جلیلیان، ”بررسی فنون نرم­افزاری تحمل­پذیری خطای گذرا در نرم­افزار­های ماهواره“، فصل­نامه علمی پژوهشی علوم و فناوری فضایی، جلد 5، شماره 4، ص 9-18، زمستان 1391.
[5]     J.R. Azambuja, F. Kastensmidt, and J. Becker, “Hybrid Fault Tolerance Techniques to Detect Transient Faults in Embedded Processors”, Springer International Publishing Switzerland, 2014.
[6]     M. Duricek and T. Krajcovic, “Hybrid Control-Flow Checking with On-Line Statistics”, 4th Eastern European Regional Conf. on the Engineering of Computer Based Systems, pp. 122–125, 2015.
[7]     S.A. Asghari, A. Abdi, H. Taheri, S. Pourmozaffari, and H. Pedram, “SEDSR: Soft error detection using software redundancy,” Journal of Software Engineering and Applications, vol. 5, pp. 664–670, 2012.
[8]     N. Oh, P.P. Shirvani, and E.J. McCluskey, “Control-Flow Checking by Software Signatures”, IEEE Trans. on Reliability, vol. 51, no. 2, pp. 111–122, March 2002.
[9]     A. Li and B. Hong, “Software implemented transient fault detection in space computer”, Elsevier, Aerospace Science and Technology, vol. 11, no. 2–3, pp. 245–252, 2007.
[10]  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 Trans. on Parallel and Distributed Systems, vol. 10, no. 6, pp. 627–641, June 1999.
[11]  S.A. Asghari, H. Taheri, H. Pedram, and O. Kaynak, “Software-Based Control Flow Checking Against Transient Fault in Industrial Environments”, IEEE Trans. on Industrial Informatics, pp. 481–490, 2014.
[12]  A. Li and B. Hong, “On-line control flow error detection using relationship signatures among basic blocks,” Computers and Electrical Eng., vol. 36, pp. 132–141, 2010.
[13]  Boroomandnezhad, T., Azgomi, M. A., “An efficient control-flow checking technique for the detection of soft-errors in embedded software”, Computers & Electrical Engineering, vol. 39, no. 4, pp. 1320–1332, 2013.
[14]  Jianli, L., Qingping, T., Jianjun, X., “A Software-Implemented Configurable Control Flow Checking Method”, 3rd Int. Symp. on Parallel Architectures, Algorithms and Programming, pp. 199–205, 2010.
[15]  Asghari, S.A., Abdi, A., Taheri, H., Pedram, H., Pourmozaffari, S., “I2BCFC: An Effective Intra-Inter Block Control Flow Checking Method Against Single Event Upsets”, Research Journal of Applied Sciences, Engineering and Technology, vol. 4, no. 21, pp. 4367–4379, 2012.
[16]  L. Terras, Y. Teglia, M. Agoyan, R. Leveugle, “Taking into account indirect jumps or calls in continuous control-flow checking”, 11th Int. Design & Test Symp. (IDT), pp. 125–130, 2016.
[17]  L. Liu, L. Ci, W. Liu, C. Bin, “Control-Flow Checking Using Branch Sequence Signatures”, IEEE Int. Conf. on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), pp. 839–845, 2016.
[18]  Z., Zhu, J. Callenes-Sloan, “Towards Low Overhead Control Flow Checking Using Regular Structured Control”, 20th Design Automation and Test in Europe Conf. and Exhibition (DATE), pp. 826–829, 2016.
[19]  J. Vankeirsbilck, N. Penneman, H. Hallez, J. Boydens, “Random Additive Signature Monitoring for Control Flow Error Detection”, IEEE Trans. on Reliasbility, vol. 66, no. 4, Dec. 2017.
[20]  S. Das, W. Zhang, Y. Liu, “A Fine-Grained Control Flow Integrity Approach Against Runtime Memory Attacks for Embedded Systems”, IEEE Trans. on VLSI Systems, vol. 24, no. 11, pp. 3193–3207, Nov. 2016.