Font Size: a A A

Research On SDC Vulnerability Protection For Embedded Software Based On LLVM

Posted on:2021-06-26Degree:MasterType:Thesis
Country:ChinaCandidate:Y F LiuFull Text:PDF
GTID:2492306479964979Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
Spaceborne computers are susceptible to transient hardware failure due to the bombardment of cosmic radiation and high-energy particles when they are running in outer space,which can cause software errors.The errors mainly include program crashes,program hangs and silent data corruption(SDC).Silent Data Corruption(SDC),due to its concealment,will lead to errors in software results without any warning,which is the focus of current research on embedded software fault protection.In recent years,although technologies such as fault injection,static analysis prediction and instruction instrumentation have been proposed,how to achieve efficient and accurate SDC protection in embedded software with limited resources still needs in-depth research.In this paper,we analyze existing methods which used to prevent SDC errors,and try to protect SDC errors from the data flow and control flow.The main research work of this paper for SDC error protection is as follows:1)Data errors in general registers will cause data flow errors in the program and eventually cause SDC errors.To address the problems of large performance overhead and poor protection effects of the current SDC data flow protection,a data flow SDC vulnerability protection based on LSTM(Long Short-Term Memory network)and dynamic execution flow is proposed.The execution of the program is regarded as the dynamic execution flow of the instructions,the features of the instruction itself and the propagation path are extracted,and finally the LSTM network is used to predict the SDC vulnerability of the LLVM intermediate code instructions.Selective redundancy of predicted highfragility instructions is performed to protect against errors in data flow which may cause SDCs.The result of fault injection after protection show that this method has high prediction accuracy and error detection rate after redundancy,while reducing the time overhead caused by redundancy.2)Errors in the PC register and jump address will cause control flow errors,which is also one of the important reasons for the SDC problem.Aiming at the problems of current control flow error detection methods,such as complex signature design,missing control flow errors in basic blocks and between processes,a control flow SDC vulnerability protection based on basic block global dependency graph is proposed.Global dependency graph of basic blocks is built,and only two signatures are needed to implement control flow error detection within basic blocks,in basic blocks,and between processes.Errors in control flow can be protected against by instrumentation.Detection capability Analysis and experimental results show that the method has a high control flow error detection rate and limits the performance overhead to a certain range.3)A prototype system of embedded software SDC vulnerability protection based on LLVM is designed,and the fault injection of data flow and control flow is performed on the embedded platform simulated by the embedded software set Mibench and QEMU(Quick EMUlator).The experiments verify the effectiveness of the prototype system and results show that the embedded software SDC vulnerability protection system designed in this paper can effectively protect the SDC vulnerability.
Keywords/Search Tags:SDC vulnerability, Silent Data Corruption, LSTM, basic block global dependency graph, LLVM
PDF Full Text Request
Related items