Doktorarbeit,

Software Reliability Engineering with Genetic Programming

.
Computer Science, Florida Atlantic University, (August 2003)

Zusammenfassung

Software reliability engineering plays a vital role in managing and controlling software quality. As an important method of software reliability engineering, software quality estimation modelling is useful in defining a cost-effective strategy to achieve a reliable software system. By predicting the faults in a software system, the software quality models can identify high-risk modules, and thus, these high-risk modules can be targeted for reliability enhancements. Strictly speaking, software quality modeling not only aims at lowering the misclassification rate, but also takes into account the costs of different misclassifications and the available resources of a project. As a new search-based algorithm, Genetic Programming (<smcap>GP</smcap>) can build a model without assuming the size, shape, or structure of a model. It can flexibly tailor the fitness functions to the objectives chosen by the customers. Moreover, it can optimise several objectives simultaneously in the modelling process, and thus, a set of multi-objective optimisation solutions can be obtained. This research focuses on building software quality estimation models using <smcap>GP</smcap>. Several <smcap>GP</smcap>-based models of predicting the class membership of each software module and ranking the modules by a quality factor were proposed. The first model of categorising the modules into fault-prone or not fault-prone was proposed by considering the distinguished features of the software quality classification task and <smcap>GP</smcap>. The second model provided quality-based ranking information for fault-prone modules. A decision tree-based software classification model was also proposed by considering accuracy and simplicity simultaneously. This new technique provides a new multi-objective optimization algorithm to build decision trees for real-world engineering problems, in which several trade-off objectives usually have to be taken into account at the same time. The fourth model was built to find multi-objective optimisation solutions by considering both the expected cost of misclassification and available resources. Also, a new goal-oriented technique of building module-order models was proposed by directly optimizing several goals chosen by project analysts. The issues of <smcap>GP </smcap>, bloating and overfitting, were also addressed in our research. Data were collected from three industrial projects, and applied to validate the performance of the models. Results indicate that our proposed methods can achieve useful performance results. Moreover, some proposed methods can simultaneously optimize several different objectives of a software project management team.

Tags

Nutzer

  • @brazovayeye

Kommentare und Rezensionen