Font Size: a A A

Research On Key Technologies Of Software Based Fault Tolerance For C/C++ Source Code

Posted on:2017-05-27Degree:MasterType:Thesis
Country:ChinaCandidate:S C WuFull Text:PDF
GTID:2428330569498518Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Single particle effects caused by high energy particles in space have seriously affected the reliability of space application software.In order to solve this problem,domestic and foreign research on fault-tolerant technology has been carried out.Fault-tolerant technology,also known as reinforcement technology,according to the implementation is divided into hardware fault-tolerant technology and software fault-tolerant technology.But the hardware fault-tolerant technology,limited by the power,costs and other factors,can not be large-scale application.Compared with the hardware fault-tolerant technology,the software fault-tolerant technology has the advantage of low development costs and high flexibility,so it has been paid more and more attention.However,the research of software fault-tolerant technology is mainly focused on the instruction-level error detection,and the source-code level is relatively seldom researched.Compared with the instruction-level fault tolerance,source-level fault tolerance has many advantages,such as independent of the specific application platform and compiler,easy to implement fault-tolerant strategy,easy to transplant and modify and so on.Based on the analysis of existing software fault-tolerant technology,the paper is aimed at the research on key technology of software based fault-tolerance for C/C++ source code.The main work is as follows:1.A data fault-tolerance method based on class membership is proposed.In the source code fault-tolerance,the larger the duplication range,the greater the difficulty of fault-tolerance is and the correctness and effectiveness of fault-tolerance are more difficult to guarantee.In object-oriented programming,a large number of variables and the operations of variables are encapsulated in the scope of the class,providing a good basis to control the scope of the duplication.This article will control the duplication scope of the variables within the class.Also,the use of object-oriented programming characteristics make the original code and the reinforcement of the original code can not co-exist and normal interaction.At the same time,the use of encoding technology make it have certain error recovery ability to some extent.2.Based on the AOP technique,this paper proposes fault-tolerance methods for virtual function pointers and function return addresses,and a control flow error detection method between functions with double signatures.In the protection of the virtual function pointers,we make the use of AOP for a critical analysis of the functions so that we can selectively protect functions with longer running time.In the protection of function return addressed,we use AOP technology and code verification(EDM)or three-mode redundancy(ERM)technology to achieve the function return address detection and recovery.The control flow error detection method,which detects control flow errors between functions with double signatures,assigns two specific signatures to each function and weaves extra signature-manipulating statements around function-call and function-excution.3.The experimental scheme of particle irradiation and failure injection are designed,and the fault-tolerance method proposed in this paper is experimentally verified.The particle injection experiment is based on the high-energy particle generated by the particle accelerator and the failure probability of the software module in the near-earth orbit is predicted before and after the reinforcement.The fault injection experiment is based on the PIN_FI,which is designed and realized by the binary dynamic interpolation.The software modules before and after the reinforcement are performed simulation fault injection and analyzes the fault tolerance of the software modules.The results show that the proposed method can effectively improve the reliability of software modules.
Keywords/Search Tags:single particle flips, error detection, error recovery, AOP, fault injection
PDF Full Text Request
Related items