Font Size: a A A

Research On Static Prediction Of Software Defects

Posted on:2012-10-11Degree:MasterType:Thesis
Country:ChinaCandidate:L N QinFull Text:PDF
GTID:2178330335469393Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the introduction of "software crisis" in late 60 years of the 20th century, software engineering has been developing rapidly. The highest goal of software engineering is to develop high-quality application software or products. Software reliability is one of the important characteristics of software quality. IEEE has defined software reliability as the probability of not emerging software failure in the required condition and time, and ISO 900 has defined software failure as incorrect output when some software is running. There are many reasons such as software defects, human factors and hardware faults which cause to software failure. If a failure is observed, maybe there are many defects to follow, then workers could correct such defects to avoid duplicate failure, improve software reliability.Software defect is an important clue following quality, which is also an important reference of software reliability. Find and revise defects is the important goal of software testing, while with the development of software technology, any detection technology can not find and remove all defects, as there is always some unknown reasons lead to defects. Such potential defects which are not found temporarily will affect software quality. Predict defects reasonably could count the number or distribution of defects which have not been found but exist, so as to help testers locate and correct defects quickly and accurately; then achieve the purpose of improving software reliability and assuring software quality.Software defect prediction is defined as statically or dynamically measure the number or distribution of software defects existing in some software product. Static prediction is mainly to predict defects'number or distribution based on defect-related metric elements; Dynamic prediction is to predict defects'distribution based on time when defects or failures occur.The common metric elements used to predict software defects are code, Halstead, McCabe metric elements and so on. There are many metric elements, researchers have not proposed the consistent, complete and accurate metric elements, and there is lack of comprehensive model which analyzes the complex relationship between metric elements and defects. So the paper integrates many kinds of metric elements to predict defects' number and distribution, so as to map their complex relationship.In view of the miscellaneous nature for metric elements collection, some metric elements have less positive impact or negative impact on defect prediction. Firstly, the paper introduces Input Output Correlation method to calculate metric elements' importance related to defects and sorts them in descending order; secondly, the paper uses the combined technology of Back Propagation Neural Network and Particle Swarm Optimization algorithm to construct an intelligent model which extracts the best effective metric elements, so as to exclude invalid metric elements and reduce prediction effort. Lastly, the paper combines the best effective elements and Particle Swarm Optimizing Support Vector Machines method to construct defects prediction model. Through experimental analysis, compared to traditional prediction models, the prediction model could reduce prediction costs, improve prediction accuracy and increase generalization performance.
Keywords/Search Tags:Software reliability, Software defect, metric element, Back Propagation Neural Network, Particle Swarm Optimization algorithm, Support Vector Machines
PDF Full Text Request
Related items