Doug Goldson
University of Queensland
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Doug Goldson.
international parallel and distributed processing symposium | 2004
Brad Long; Roger Duke; Doug Goldson; Paul A. Strooper; Luke Wildman
Summary form only given. The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems such as interference and deadlock. In previous work, we proposed a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool. The method was derived from an analysis of concurrency failures in Java components, but was not applied in practice. In this paper, we explore the method by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation. We only apply it to a single, well-known example, and so we do not attempt to draw any general conclusions about the applicability or effectiveness of the method. However, the exploration does point out several strengths and weaknesses in the method, which enable us to fine-tune the method before we carry out a more formal evaluation on other, more realistic components.
Logical Methods in Computer Science | 2006
Brijesh Dongol; Doug Goldson
This paper describes a logic of progress for concurrent programs. The logic is based on that of UNITY, molded to fit a sequential programming model. Integration of the two is achieved by using auxiliary variables in a systematic way that incorporates program counters into the program text. The rules for progress in UNITY are then modified to suit this new system. This modification is however subtle enough to allow the theory of Owicki and Gries to be used without change.
international conference on formal engineering methods | 2002
Doug Goldson; Greg Reeve; Steve Reeves
We introduce two new notions of refinement for µ-charts and compare them with the existing notion due to Scholz. The two notions are interesting and important because one gives rise (via a logic) to a calculus for constructing refinements and the other gives rise (via model checking) to a way of checking that refinements hold. Thus we bring together the two competing worlds of model checking and proof.
asia-pacific software engineering conference | 2003
Doug Goldson
We describe an extension of the theory of Owicki and Gries (1976) to a programming language that supports asynchronous message passing based on unconditional send actions and conditional receive actions. The focus is on exploring the fitness of the extension for distributed program derivation. A number of experiments are reported, based on a running example problem, and with the aim of exploring design heuristics and of streamlining derivations and progress arguments.
asia-pacific software engineering conference | 2002
Doug Goldson
This paper describes an experiment in the formal verification of /spl mu/-charts, a Statechart-like language with instantaneous communication. Properties of /spl mu/-charts are verified using a theory of chart refinement. By modelling /spl mu/-charts in the language of CSP used here as a semantic metalanguage, chart refinement is reduced to CSP trace refinement, which allows verification to be executed automatically using the model-checker FDR. A detailed verification of a motor vehicle central locking system is used to illustrate this approach. Results so far are promising, with the augmentation of a Statechart-like language with a refinement theory offering a more integrated method of reactive system design.
australian software engineering conference | 2004
Doug Goldson
We describe an experiment in the design of distributed programs. It is based on the theory of Owicki and Gries extended with rules for reasoning about message passing. The experiment is designed to test the effectiveness of the extended theory for designing distributed programs.
software engineering and formal methods | 2003
Doug Goldson; Greg Reeve
μ-Charts are a Statechart-like language which is designed for specifying reactive systems. This paper extends the language of μ-charts with a new parallel operator; it defines a formal semantics for the language, and then it explores the semantic properties of the extended language. The work concludes with a simple case study to illustrate how the language may be used to specify and reason about reactive systems.
Archive | 1993
Doug Goldson; Steve Reeves
Conferences in Research and Practice in Information Technology Series | 2005
Doug Goldson; Brijesh Dongol
formal methods | 2003
Doug Goldson