Search-Based Approaches to Software Fault Prediction and Software Testing
نویسنده
چکیده
Software verification and validation activities are essential for software quality but also constitute a large part of software development costs. Therefore efficient and costeffective software verification and validation activities are both a priority and a necessity considering the pressure to decrease time-to-market and intense competition faced by many, if not all, companies today. It is then perhaps not unexpected that decisions related to software quality, when to stop testing, testing schedule and testing resource allocation needs to be as accurate as possible. This thesis investigates the application of search-based techniques within two activities of software verification and validation: Software fault prediction and software testing for non-functional system properties. Software fault prediction modeling can provide support for making important decisions as outlined above. In this thesis we empirically evaluate symbolic regression using genetic programming (a search-based technique) as a potential method for software fault predictions. Using data sets from both industrial and open-source software, the strengths and weaknesses of applying symbolic regression in genetic programming are evaluated against competitive techniques. In addition to software fault prediction this thesis also consolidates available research into predictive modeling of other attributes by applying symbolic regression in genetic programming, thus presenting a broader perspective. As an extension to the application of search-based techniques within software verification and validation this thesis further investigates the extent of application of search-based techniques for testing non-functional system properties. Based on the research findings in this thesis it can be concluded that applying symbolic regression in genetic programming may be a viable technique for software fault prediction. We additionally seek literature evidence where other search-based techniques are applied for testing of non-functional system properties, hence contributing towards the growing application of search-based techniques in diverse activities within software verification and validation.
منابع مشابه
Evaluation of Classifiers in Software Fault-Proneness Prediction
Reliability of software counts on its fault-prone modules. This means that the less software consists of fault-prone units the more we may trust it. Therefore, if we are able to predict the number of fault-prone modules of software, it will be possible to judge the software reliability. In predicting software fault-prone modules, one of the contributing features is software metric by which one ...
متن کاملAn Efficient Software Fault Prediction Model using Cluster based Classification
Predicting fault -prone software components is an economically important activity due to limited budget allocation for software testing. In recent years data mining techniques are used to predict the software faults .In this research, we present a cluster based fault prediction classifiers which increases the probability of detection. The expectation from a predictor is to get very high probabi...
متن کاملImportant Issues in Software Fault Prediction : A Road Map
Quality assurance tasks such as testing, verification and validation, fault tolerance, and fault prediction play a major role in software engineering activities. Fault prediction approaches are used when a software company needs to deliver a finished product while it has limited time and budget for testing it. In such cases, identifying and testing parts of the system that are more defect prone...
متن کاملAn Efficient Software Defect Prediction Model Using Optimized Tabu Search Branch and Bound Procedure
Software fault localization is considered to be one of the most tedious procedures that involves larger amount of time during the debugging of program. With this, there arises an increasing desire for software fault localization to be practiced with minimum amount of human intervention. This resulted with the design of several methods, each of which provides means to address the issues related ...
متن کاملSoftware Fault Prediction Model for Embedded Systems: A Novel finding
Software testing plays a vital role in software development especially when the software developed is mission, safety and business critical applications. Software testing is the most time consuming and costly phase. Prediction of a modules info fault-prone and non fault prone prior to testing is one of the cost effective technique. Predicting a safe module as faulty increases the cost of projec...
متن کامل