Аннотация
Many organizations want to predict the number of defects (faults)
in software systems, before they are deployed, to gauge the likely
delivered quality and maintenance effort. To help in this numerous
software metrics and statistical models have been developed, with a
correspondingly large literature. We provide a critical review of this
literature and the state-of-the-art. Most of the wide range of
prediction models use size and complexity metrics to predict defects.
Others are based on testing data, the ” quality” of the
development process, or take a multivariate approach. The authors of the
models have often made heroic contributions to a subject otherwise
bereft of empirical studies. However, there are a number of serious
theoretical and practical problems in many studies. The models are weak
because of their inability to cope with the, as yet, unknown
relationship between defects and failures. There are fundamental
statistical and data quality problems that undermine model validity.
More significantly many prediction models tend to model only part of the
underlying problem and seriously misspecify it. To illustrate these
points the Goldilock's Conjecture, that there is an optimum module size,
is used to show the considerable problems inherent in current defect
prediction approaches. Careful and considered analysis of past and new
results shows that the conjecture lacks support and that some models are
misleading. We recommend holistic models for software defect prediction,
using Bayesian belief networks, as alternative approaches to the
single-issue models used at present. We also argue for research into a
theory of ” software decomposition” in order to test
hypotheses about defect introduction and help construct a better science
of software engineering
Пользователи данного ресурса
Пожалуйста,
войдите в систему, чтобы принять участие в дискуссии (добавить собственные рецензию, или комментарий)