Font Size: a A A

The Classification Of Software Reliability Models And Failure Analysis Of Software Reliability Based On Support Vector Machines

Posted on:2011-08-14Degree:DoctorType:Dissertation
Country:ChinaCandidate:B ChaoFull Text:PDF
GTID:1118330332982864Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The reliability of software is one of the most important software quality factors. The level of software reliability decides whether the software could work stably and reliably or not. The software reliability engineering (SRE) has presented for near 30 years, and many institutions, universities, industry and scholars have done their best to carry out and popularize SRE. But, in comparison with the high progress of software development methods, there are not still high advancements or radical changes for the SRE. To leaving aside the desirable target of SRE, to fulfill some guide thoughts and implement some SRE methods is a troublesome issue for project policymaker and software developer.There are three reasons that cause the phenomenon above; the first is that the SRE is the most special part of software engineering. The main purpose of SRE is used for the analysis of software reliability indexes. The analysis of software reliability is based on mathematical tool and applies the probability theory, statistics and data analysis synthetically to evaluate and predict the software reliability indexes, which require the analyst with solid foundation of mathematic; but it's difficult to meet it. The second is that there are hundreds of software reliability models, but none of them is universal for common software project. It's because of the requests or hypotheses that the application of model is restricted. How to find the most suitable model for software project becomes a complicated even nonsensical thing. The third is that the practice of SRE is not only mathematical analysis but also implementation of guide thought and methods of software engineering, which is a heavy mission of implementation of SRE.To take account of these inconveniences, the way to solve them is that, one side, the guide thought of software engineering should be applied thoroughly, and on the other side, the reliability of software can be computed easy and simply.In this dissertation, the classification method of software reliability model and the computation of software reliability base on the least square support vector machines (LSSVM) are presented. The classification method could solve the problem of selection of software reliability model and the computation method uses the LSSVM theory to analyze and evaluate the software reliability.The support vector machines (SVM) is a machine learning method based on the structure risk minimum (SRM) of statistical learning theory (SLT) and is the youngest and very practical in SLT. Vapnik provided the theory foundation for it from mathematics and deduced the evaluation method of its risks performance and a series of solution steps. The basic thought of SVM is to construct an optimal super-plan based on the sample space, which has the largest distance to sample sets belonging to different class, so that the ability of generalization can also be optimal. The SVM's structure is simple and it has global optimum and better popularization ability, so it has been studied extensively since 1990s. The SVM is an effective tool to solve problems like as classification and function regression.As a SVM's main application is data classification, beginning with the classification of software reliability models, this dissertation introduced the Least Squares Support Vector Classification Machines (LSSVCM) based on the problem of binary classification to solve multicategory problem. In this dissertation, other methods of software reliability models classification were generalized. These methods use the mathematical conception or mathematical characteristics of models to classify models, which reduced the practicability of models. The classification method based on the LSSVCM uses the cluster analysis and principal component analysis to reduce and combine the application conditions and hypotheses that are bases for the models. The application conditions and hypotheses are some real factors that can be understood and realized easily and they are not perfect mathematical definitions or mathematical characteristics, so the classification method based on the LSSVCM are even suitable for real situation that can help analyst select the reliability model fast based on some simple software properties or failure characteristics and the difficulties of model application can be decreased.The classification of reliability models based on LSSVCM can improve the efficiency of model selection highly, but it does not solve a problem that the application of reliability model needs many hypotheses and large mathematical computation and it's uncertain that the model selected is suitable for current software project. This dissertation presented a method to construct the failure function of software reliability analysis based on the Least Squares Support Vector Regression Machines-LSSVRM to fit to the failure data of software reliability accurately and evaluate the software reliability appropriately. A shortcoming of LSSVRM is that the LSSVRM would be done repeatedly because of the resemble data. To solve this defect, the cluster analysis is used to delete some data that has similar characteristics, so that the learning efficiency of LSSVRM could be improved.There are some advantages by using reliability model based on the LSSVRM in reliability analysis. The first is that the LSSVRM is an algorithm that can be realized by any programming language, and can be used repeatedly in different projects. On the other words, this method can be used to analyze the reliability of different software projects and does not be restricted by any circumstance factors or hypothesis conditions. The second is that the model based on the LSSVRM hasn't parameters to estimate and it can fit to the failure data immediately, which is a main difference to other software reliability analysis methods. The third is that this method can be used in whole software life cycle and the problem of model re-selecting and parameters re-estimating, because of the different stage of software development, can be averted. A most important point about these advantages is that this method needn't many mathematical theories and it has a high generalization.There are still some parameters in a failure model based on the SVM that need be modified by hand. To use this model effectively, the simulated annealing (SA) algorithm is introduced to automatically optimize these parameters in model. With SA algorithm, those parameters that are not the optimal solution of SVM optimal problem can be optimized aotumatically and meanwhile the best failure model based on the optimal SVM can be constructed, so the man-made interference can be averted and the workload of constructing model can also be decreased.Because of there being many factors that influence the software reliability, the method to construct the multi-variable software reliability model is discussed in this dissertation. The key-thought is to discided the major factors by state analysis and build the model by kernel prime component analysis and SVRM.In this dissertation, the method of classification and analysis of software reliability based on the LSSVM was studied in certain depth. The study should still be made further and thoroughly.
Keywords/Search Tags:Software Reliability, Least Squares Support Vector Machines, Model Classification, Failure Function, Simulated Annealing Algorithm
PDF Full Text Request
Related items