Font Size: a A A

Research On Key Technologies Of Software Implemented Fault Injection

Posted on:2012-08-11Degree:DoctorType:Dissertation
Country:ChinaCandidate:Q H PanFull Text:PDF
GTID:1118330338489764Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Reliability is an important index of computer systems. In many task- or time- critical fields, such as aeronautics, navigation, finance, traffic, nuclear reactor monitoring etc., once there were some faults it may cause huge economic lose, or even personnel lose. So it is necessary to test these systems fully before they run in real environments. And it also needs to simulate environment disturbance such as single event upsets to evaluate reliability indices of computer system. Based on the indices and test results guarantee mechanism can be deployed effectively.Fault injection as a method of evaluating reliability is becoming the research focus of software test. Traditional dependability evaluation methods are combinatorial model techniques and test techniques, which need to build and solve complex dependability model of the systems under test or spend much time for experiments. Different from these methods, the main advantage of fault injection is that there is no need to build any complex system model, no need to solve complex state equations and much less time consuming. Fault injection technique includes three kinds, which are hardware implemented fault injection, software implemented fault injection and simulation implemented fault injection. Compared with the other two injection techniques, software implemented fault injection has many advantages such as low development cost, good flexibility and no damage to target system and so on. In this paper the research focus is software implemented fault injection and it applies fault injection into different stages of software testing.The model based on catastrophe theory is design to illustrate the behavior of fault injection and its influence on system .Through this model, many complicate relations are found out. By this model an injecting algorithm based on fault strength is designed.Study the characteristic of mutation test and its developing trend. For program-based mutation a tool called Tester is designed to mutate Tcl language. Now Tester implemented 13 mutation operators and is used to do mutation experiments. The results of experiment prove the validity of Tester. For finite state machine mutation 11 mutation operators are designed to mutate finite state machine. The goal of mutation experiments was evaluate effectiveness of methods that generate test cases. TT and W methods are evaluated. For CTL specification mutation 10 mutation operators are designed to mutate specifications. The goal of mutation experiments is to generate test cases under the help of SMV. SMV will produce counter-examples when CTL specification is false and these counter-examples can be very used as effective test cases. Study the software implemented fault injection based on middle layer injection.Considering modules interact with system fault injection in glibc of Unix environment is studied. For Windows system fault injection experiments of Microsoft office products are implemented and results of experiments are analyzed. Considering modules interact with modules a method is designed to analyze error propagation rules and an implement algorithm is put forward in order to solve the problem, i.e. finding out the signals and modules that are more vulnerable to environmental disturbance and should be assigned errors detecting and correcting mechanisms or fault tolerance techniques firstly.Based on memory space injecting technique two injecting methods were designed. Two kinds of injecting experiments were implemented according to these methods. By designing proper format of experiments records the reliability parameters were computed effectively. Define injecting strength and prove that the injecting count process is naturally a Poisson process. This proof is important because it means that random process theory can be introduced to study software-implemented fault injection. Usually fault injecting experiment is time-consuming and ineffective so it is important to choose an injecting plan that can optimize tests. The different distributions of location random variable X were used to implement experiments.In the last of the dissertation, a detailed description on the dependability evaluation tool is given. It includes the general structure of the tool, the detailed design and implementation of the main modules and so on. The reliability experiments are implemented based on middle layer and space injection technique and reliability indices are computed.
Keywords/Search Tags:single event upset, software-implemeted fault injection, mutation test, error propagation, system vulnerability
PDF Full Text Request
Related items