|
|
Research:
As a means of highlighting our research into software
testing and program comprehension, we intend to make available any relevant papers, posters or working
documents. Four papers have been published :
and information about them, and downloads may be found here.
A fifth paper,
is in submission and is available to download.
Two other papers are in preparation and available as technical reports:
| Managing the uncertainties
of software testing: a Bayesian approach
Kearton Rees (1), Frank
Coolen (2), Michael
Goldstein (2), David
Wooff (2)
(1) British Telecommunications plc
(2) Department
of Mathematical Sciences, University
of Durham
Status: Appears in Quality and Reliability Engineering
International, 17, (2001) 191-203. Published by John
Wiley & Sons.
Downloads: postscript
or pdf (note
that these are preprints)
| Abstract: Testing
of software systems involves many complex problems for test managers. Important
issues to be considered include how to quantify reliability, how to design
tests, which tests should be performed given time, cost and resource constraints,
what are the implications of test failures, what tests should be re-run
following corrections to rectify faults; and so forth. All of these issues
are related to the uncertainties involved in the quality of the software
and the process of testing.
In a continuing collaboration, the use of Bayesian graphical
models has been explored to model these uncertainties and to support software
testers and test managers with their complex tasks.
This paper discusses some features of Bayesian graphical
models which are pertinent to modelling software testing problems, and
in particularthe kind of support they can provide to test managers and
the use of such models in a practical environment. Details of the modelling
process are presented elsewhere. |
Top |
| Generalized partition testing
via Bayes linear methods
Frank
Coolen(1), Michael
Goldstein(1), Malcolm
Munro(2)
(1) Department of Mathematical
Sciences, University of Durham
(2) Research Institute
in Software Evolution, Department
of Computer Science, University of
Durham
Status: Appears in Information And Software Technology,
43,
(2001) 783-793. Published by Elsevier
Science.
Downloads: postscript
or pdf
(note that these are preprints)
| Abstract: This paper explores
the use of Bayes linear methods related to partition testing for software.
If a partition of the input domain has been defined, the method works with
the assumption of homogeneous (revealing) subdomains, and also includes
the possibility to learn, from testing inputs in one subdomain, about inputs
in other subdomains, through explicit definition of the correlations involved.
To enable practical application an exchangeability structure needs to be
defined carefully, for which means the judgements of experts with relation
to the software is needed. Next to presenting the basic idea of Bayes linear
methods and how it can be used to generalize partition testing, some important
aspects related to applications as well as for future research are discussed. |
Top |
| Bayesian Graphical Models for
Software Testing
D.A.Wooff,
M.Goldstein
and F.P.A. Coolen
Department of Mathematical
Sciences, University of Durham
Status: Appears in IEEE
Transactions on Software Engineering, 28(5), (2002)
510-525. For further information on this paper, please e-mail
us.
| Abstract: This paper describes a new approach
to the problem of software testing. The approach is based on Bayesian graphical
models, and presents formal mechanisms for the logical structuring of the
software testing problem, the probabilistic and statistical treatment of
the uncertainties to be addressed, the test design and analysis process,
and the incorporation and implication of test results. Once constructed,
the models produced are dynamic representations of the software testing
problem. They may be used to drive test design, answer what-if questions,
and provide decision support to managers and testers. The models capture
the knowledge of the software tester for further use. The approach is illustrated
by case study. |
Top |
| Bayes Linear Kinematics and
Bayes Linear Bayes Graphical Models
Michael
Goldstein, Simon
C Shaw
Department of Mathematical
Sciences, University of Durham
Status: in submission
Downloads: postscript
or
pdf
Questions/comments: please e-mail
us
| Abstract: R.C.
Jeffrey introduced probability kinematics for revising an old probability
specification to a new probability specification based upon new probabilities
over a partition. We develop a corresponding Bayes linear kinematic describing
how a Bayes linear analysis should be carried out when we only receive
partial information which changes our beliefs about a vector of random
quantities in some generalised way. Commutativity of successive Bayes linear
kinematics is discussed and we derive the necessary and sufficient conditions
for commutativity which depend upon the eigenstructure of a belief transform
which we term the joint kinematic resolution transform. As an application
of this approach, we introduce the Bayes linear Bayes graphical model which
is a mixture of fully Bayesian and Bayes linear graphical models combining
the simplicity of Gaussian graphical models with the ability to allow conditioning
on marginal distributions of any form, and exploit Bayes linear kinematics
in order to embed full conditional updates within Bayes linear belief adjustments.
The theory is illustrated with a treatment of partition testing for software
reliability. |
Top |
| Moral dominance relations
for program comprehension
Simon
C Shaw (1), Michael
Goldstein (1), Malcolm
Munro (2), Elizabeth Burd
(2)
(1) Department of Mathematical
Sciences, University of Durham
(2) Research Institute
in Software Evolution, Department
of Computer Science, University of
Durham
Status: Appears in IEEE
Transactions on Software Engineering, 29(9), (2003)
851-863.
Downloads: postscript
or pdf
Questions/comments: please e-mail
us
| Abstract:Dominance trees have been used as a means for reengineering
legacy systems into potential reuse candidates. The dominance relation
suggests the reuse candidates which are identified by strongly directly
dominated subtrees. We review the approach and illustrate how the
dominance tree may fail to show the relationship between the strongly
directly dominated procedures and the directly dominated procedures. We
introduce a relation of generalized conditional independence which
strengthens the argument for the adoption of the potential reuse candidates
suggested by the dominance tree and explains their relationship with the
directly dominated vertices. This leads to an improved dominance tree, the
moral dominance tree, which helps aid program comprehension available from
the tree. The generalized conditional independence relation also identifies
potential reuse candidates that are missed by the dominance relation. |
Top |
| Moralising the call
graph as a means of program comprehension
Simon
C Shaw, Michael
Goldstein
Department of Mathematical
Sciences, University of Durham
Status:technical report
Downloads: postscript
or pdf
Questions/comments: please e-mail
us
Abstract: The dominance tree is an abstraction
of the moral tree which aims to assist program comprehension by reducing
information overload during the early stages of comprehension and by identifying
collections of procedures which may be remodularised into single modules.
Shaw et al. (2002) reviewed this approach and introduced
a generalised conditional relation on the call graph which helped strengthen
the analysis provided by the dominance tree. This relation helps to explain
the relationship between different subtrees on the dominance tree. The
dominance tree was modified to the moral dominance tree
which identified the `single call in' and `isolated' subtrees. However,
most of the relationships between the subtrees derived using the g.c.i.
relation were not explicit on the moral dominance tree and so understanding
is lost. In this paper we propose an alternative abstraction of the call
graph into a tree. We base this abstraction directly on the g.c.i. relation
and the resulting tree we term a moral tree. The moral tree represents
g.c.i relations on the call graph and is constructed from the moral graph
of subgraphs of the call graph. It has the property that the call graph,
and hence the moral dominance tree, may be reclaimed from it, whilst it
is easy to explore separations on the moral tree and hence identify potential
reuse candidates. A number of examples are provided to illustrate the construction
of the moral tree and highlight how it detects structure missed by the
moral dominance tree. |
Top |
| Local Computation Aspects
of Bayes Linear Kinematics
Michael
Goldstein, Simon
C Shaw
Department of Mathematical
Sciences, University of Durham
Status: technical report
Downloads: postscript
or pdf
Questions/comments: please e-mail
us
Abstract: Goldstein and
Shaw (2002) developed Bayes linear kinematics describing how a Bayes
linear analysis should be carried out when we only receive partial information
which changes our beliefs about a vector of random quantities in some generalised
way. In this paper we explore principles of local computation for Bayes
linear kinematic updates. This theory is illustrated by the Bayes linear
Bayes models introduced by Goldstein and Shaw (2002), showing how the conditional
independence structure of the Bayes linear graphical model may be exploited.
A local computation algorithm for revising our beliefs over
the Bayes linear graphical model following observations
in the Bayesian graphical models is given. The theory is illustrated by
an example in partition testing. A second set of models are introduced,
where conditional on an element within a partition, the model is a Bayes
linear Bayes model. We discuss updating in such models and an example,
involving the modelling of a software action, provided. |
Top |
|