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.
Nutzer