Font Size: a A A

Research On Architecture Extension Support For Software Fault Detection And Location

Posted on:2010-10-10Degree:DoctorType:Dissertation
Country:ChinaCandidate:H FuFull Text:PDF
GTID:1118360302958551Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
As the center part of the computer system, software has extended to every corner of modern society. On one hand, software is a powerful tool which is made by programmers. On the other hand, the software which is parasitized by kinds of bugs will become the enemy full of strong destructive force; this is what we call "Dual Effect" of software. Doctor Mark Paulk pointed out that it is common there are bugs in the software system. So, it is very important to build a high reliability software product line to shorten the development cycle, reduce the development costs, improve the quality of services and grantee the software quality, especially for the aircraft, automotive, electronics and control systems etc.Software behavior model is brought forward in this thesis, it purposes to verify the reliability of software system in a multi-level multi-angle way, so as to improve the software availability, and reduce the risk of system failure. In order to reduce programmer's efforts and improve the software debug efficiency, software debug technology based on architecture support is implemented.Related areas of software fault detection and location are thoroughly investigated, as well as current research issues, methodologies and commercial applications in these areas are analyzed. Furthermore, major problems and drawbacks of current research and techniques are identified, which will be resolved by the following research in this thesis.Based on the bug classification system for C-language, the bug lists of large-scale open source software are analyzed, the trends of software bugs and the demand of debug techniques are summarized. Combined with the features of software dynamic state, the self-similarity rule of software behavior is summarized from the views of instruction stream, data stream, as well as the link between each other. In this way, the software behavior model is proposed, distribution of the software bugs is explained, and the fault detection framework is brought forward. Some key technology such as instruction semantic override and task semantic sense, are also discussed.The statistical self-similarity rule between instuction and instuction is studied, and implicit program rule miner is brought forward via data mining method, so that software bug can be detected. By analyzing Bide algrithm, Bide+ algrithm is put forward base on Backward-extension event (BEE) operator optimization. Data acquisition and online fault detection are implemented throught the method of architecture extension. And some optimizations in rule ganaration and bug detection are discussed. Due to the problem of the control flow error, the statistical law for software state transition is studied. Major drawbacks of current statistical model research are identified, and online statistical model is proposed. As a result the implementation of online statistical model based on architecture extension support is discussed, and a number of optimization techniques for data acquisition and bug detection are studied.Combined with software behavior model, the problem of data race is defined, and the reason why data race is hard for debug is explained. A more enhanced prerequisite algorithm was presented. The enhanced lockset algorithm catches the end of the thread, analyzes the right thread information of various variables, and refines the data race condition. On the other hand, based on the architecture support technology, a new hardware component, called locks table, is extended to accurately map set operation to bit operation. In this way, the detection precision can be improved.Based on the above studies in this thesis, experiment is made in the method of architecture support on virtual machine. The results of experiments confirmed our software fault detection methods.
Keywords/Search Tags:Architecture Extension, Fault Location, Software Debug, Online Statistical Model, Software Behavior Model, Programming Rule
PDF Full Text Request
Related items