Project home
Durham home
Stats home
Comp Science
home
Members
Research
Reading list

 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Page top

 

Page mainainer:
Simon Shaw
20/12/2002

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 Engineering28(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 Engineering29(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