Carroll Morgan

dblp:m/CarrollMorgan · also Carroll C. Morgan · DBLP profile ↗
← Back
69ranked-venue papers
20as first author
8since 2021 · last 2026
0000-0002-8535-9068ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 46 · 10 first-author · 6 since 2021Software engineering, systems software and programming languages · 22 · 10 first-authorSecurity and privacy · 5 · 2 since 2021Databases, data management, data science and information retrieval · 5 · 4 first-authorArtificial intelligence and machine learning · 1Computer networks · 1
YearPublicationVenuePosition
2026 Probabilistic predicate transformers II: partially observable probability
Cris Chen, Annabelle McIver, Carroll Morgan
Theor. Comput. Sci.3
2025 Forward and Backward Simulations for Partially Observable Probability
Cris Chen, Annabelle McIver, Carroll Morgan
ICTAC3
2025 On Formal Methods Thinking in Computer Science Education
abstract
Formal Methods (FMs) radically improve the quality of the code artefacts they help to produce. They are simple, probably accessible to first-year undergraduate students and certainly to second-year students and beyond. Nevertheless, in many cases, they are not part of a general recommendation for course curricula, i.e., they are not taught — and yet they are valuable. One reason for this is that teaching “Formal Methods” is often confused with teaching logic and theory. This article advocates what we call FM thinking : the application of ideas from Formal Methods applied in informal, lightweight, practical and accessible ways. We will argue here that FM thinking should be part of the recommended curriculum for every Computer Science student, for even students who train only in that “thinking” will become much better programmers. However, there will be others who, exposed to those ideas, will be ideally positioned to go further into the more theoretical background: why the techniques work, how they can be automated, and how new ones can be developed. Those students would follow subsequently a specialised, more theoretical stream, including topics such as semantics, logics, verification and proof-automation techniques.
Brijesh Dongol, Catherine Dubois, Stefan Hallerstede, Eric C. R. Hehner, Carroll Morgan, Peter Müller 0001, Leila Ribeiro 0001, Alexandra Silva 0001, Graeme Smith 0001, Erik P. de Vink
Formal Aspects Comput.5
2024 Probabilistic Datatypes
Cris Chen, Annabelle McIver, Carroll Morgan
ICTAC3
2023 A Novel Analysis of Utility in Privacy Pipelines, Using Kronecker Products and Quantitative Information Flow
abstract
We combine Kronecker products, and quantitative information flow, to give a novel formal analysis for the fine-grained verification of utility in complex privacy pipelines. The combination explains a surprising anomaly in the behaviour of utility of privacy-preserving pipelines - that sometimes a reduction in privacy results also in a decrease in utility. We use the standard measure of utility for Bayesian analysis, introduced by Ghosh at al. [1], to produce tractable and rigorous proofs of the fine-grained statistical behaviour leading to the anomaly. More generally, we offer the prospect of formal-analysis tools for utility that complement extant formal analyses of privacy. We demonstrate our results on a number of common privacy-preserving designs.
Mário S. Alvim, Natasha Fernandes, Annabelle McIver, Carroll Morgan, Gabriel Henrique Nunes
CCS4
2022 How to Develop an Intuition for Risk... and Other Invisible Phenomena (Invited Talk)
Natasha Fernandes, Annabelle McIver, Carroll Morgan
CSL3
2022 Flexible and scalable privacy assessment for very large datasets, with an application to official governmental microdata
abstract
We present a systematic refactoring of the conventional treatment of privacy analyses, basing it on mathematical concepts from the framework of Quantitative Information Flow (QIF ). The approach we suggest brings three principal advantages: it is flexible, allowing for precise quantification and comparison of privacy risks for attacks both known and novel; it can be computationally tractable for very large, longitudinal datasets; and its results are explainable both to politicians and to the general public. We apply our approach to a very large case study: the Educational Censuses of Brazil, curated by the governmental agency inep, which comprise over 90 attributes of approximately 50 million individuals released longitudinally every year since 2007. These datasets have only very recently (2018–2021) attracted legislation to regulate their privacy — while at the same time continuing to maintain the openness that had been sought in Brazilian society. inep’s reaction to that legislation was the genesis of our project with them. In our conclusions here we share the scientific, technical, and communication lessons we learned in the process.
Mário S. Alvim, Natasha Fernandes, Annabelle McIver, Carroll Morgan, Gabriel Henrique Nunes
Proc. Priv. Enhancing Technol.4
2021 The Laplace Mechanism has optimal utility for differential privacy over continuous queries
abstract
Differential Privacy protects individuals’ data when statistical queries are published from aggregated databases: applying "obfuscating" mechanisms to the query results makes the released information less specific but, unavoidably, also decreases its utility. Yet it has been shown that for discrete data (e.g. counting queries), a mandated degree of privacy and a reasonable interpretation of loss of utility, the Geometric obfuscating mechanism is optimal: it loses as little utility as possible [Ghosh et al. [1]].For continuous query results however (e.g. real numbers) the optimality result does not hold. Our contribution here is to show that optimality is regained by using the Laplace mechanism for the obfuscation.The technical apparatus involved includes the earlier discrete result [Ghosh op. cit.], recent work on abstract channels and their geometric representation as hyper-distributions [Alvim et al. [2]], and the dual interpretations of distance between distributions provided by the Kantorovich-Rubinstein Theorem.
Natasha Fernandes, Annabelle McIver, Carroll Morgan
LICS3
2020 Correctness by Construction for Probabilistic Programs
Annabelle McIver, Carroll Morgan
ISoLA (1)2
2020 Preface
Peter Höfner, Carroll Morgan, Vaughan R. Pratt
Acta Informatica2
2019 Proving that Programs Are Differentially Private
Annabelle McIver, Carroll Morgan
APLAS2
2019 Abstract Hidden Markov Models: a monadic account of quantitative information flow
Annabelle McIver, Carroll Morgan, Tahiry M. Rabehaja
Log. Methods Comput. Sci.2
2019 An axiomatization of information flow measures
Mário S. Alvim, Konstantinos Chatzikokolakis 0001, Annabelle McIver, Carroll Morgan, Catuscia Palamidessi, Geoffrey Smith 0001
Theor. Comput. Sci.4
2018 A new proof rule for almost-sure termination
abstract
We present a new proof rule for proving almost-sure termination of probabilistic programs, including those that contain demonic non-determinism. An important question for a probabilistic program is whether the probability mass of all its diverging runs is zero, that is that it terminates "almost surely". Proving that can be hard, and this paper presents a new method for doing so. It applies directly to the program's source code, even if the program contains demonic choice. Like others, we use variant functions (a.k.a. "super-martingales") that are real-valued and decrease randomly on each loop iteration; but our key innovation is that the amount as well as the probability of the decrease are parametric. We prove the soundness of the new rule, indicate where its applicability goes beyond existing rules, and explain its connection to classical results on denumerable (non-demonic) Markov chains.
Annabelle McIver, Carroll Morgan, Benjamin Lucien Kaminski, Joost-Pieter Katoen
Proc. ACM Program. Lang.2
2017 Algebra for Quantitative Information Flow
Annabelle McIver, Carroll Morgan, Tahiry M. Rabehaja
RAMiCS2
2017 Reasoning About Distributed Secrets
Nicolás E. Bordenabe, Annabelle McIver, Carroll Morgan, Tahiry M. Rabehaja
FORTE3
2017 Privacy in elections: How small is "small"?
Annabelle McIver, Tahiry M. Rabehaja, Roland Wen, Carroll Morgan
J. Inf. Secur. Appl.4
2016 Axioms for Information Leakage
abstract
Quantitative information flow aims to assess and control the leakage of sensitive information by computer systems. A key insight in this area is that no single leakage measure is appropriate in all operational scenarios, as a result, many leakage measures have been proposed, with many different properties. To clarify this complex situation, this paper studies information leakage axiomatically, showing important dependencies among different axioms. It also establishes a completeness result about the g-leakage family, showing that any leakage measure satisfying certain intuitively-reasonable properties can be expressed as a g-leakage.
Mário S. Alvim, Konstantinos Chatzikokolakis 0001, Annabelle McIver, Carroll Morgan, Catuscia Palamidessi, Geoffrey Smith 0001
CSF4
2016 Proof of OS Scheduling Behavior in the Presence of Interrupt-Induced Concurrency
June Andronick, Corey Lewis, Daniel Matichuk, Carroll Morgan, Christine Rizkallah
ITP4
2015 Abstract Hidden Markov Models: A Monadic Account of Quantitative Information Flow
abstract
Hidden Markov Models, HMM's, are mathematical models of Markov processes whose state is hidden but from which information can leak via channels. They are typically represented as 3-way joint probability distributions. We use HMM's as denotations of probabilistic hidden-state sequential programs, after recasting them as “abstract” HMM's, i.e. computations in the Giry monad D, and equipping them with a partial order of increasing security. However to encode the monadic type with hiding over state X we use DX→D2X rather than the conventional X→DX. We illustrate this construction with a very small Haskell prototype. We then present uncertainty measures as a generalisation of the extant diversity of probabilistic entropies, and we propose characteristic analytic properties for them. Based on that, we give a “backwards”, uncertainty-transformer semantics for HMM's, dual to the “forwards” abstract HMM's. Finally, we discuss the Dalenius desideratum for statistical databases as an issue in semantic compositionality, and propose a means for taking it into account.
Annabelle McIver, Carroll Morgan, Tahiry M. Rabehaja
LICS2
2015 Hidden-Markov program algebra with iteration
abstract
We use hidden Markov models to motivate a quantitative compositional semantics for noninterference-based security with iteration, including a refinement- or ‘implements’ relation that compares two programs with respect to their information leakage; and we propose a program algebra for source-level reasoning about such programs, in particular as a means of establishing that an ‘implementation’ program leaks no more than its ‘specification’ program. This joins two themes: we extend our earlier work, having iteration but only qualitative (Morgan 2009), by making it quantitative; and we extend our earlier quantitative work (McIver et al. 2010) by including iteration. We advocate stepwise refinement and source-level program algebra – both as conceptual reasoning tools and as targets for automated assistance. A selection of algebraic laws is given to support this view in the case of quantitative noninterference; and it is demonstrated on a simple iterated password-guessing attack.
Annabelle McIver, Larissa Meinicke, Carroll Morgan
Math. Struct. Comput. Sci.3
2014 Additive and Multiplicative Notions of Leakage, and Their Capacities
abstract
Protecting sensitive information from improper disclosure is a fundamental security goal. It is complicated, and difficult to achieve, often because of unavoidable or even unpredictable operating conditions that can lead to breaches in planned security defences. An attractive approach is to frame the goal as a quantitative problem, and then to design methods that measure system vulnerabilities in terms of the amount of information they leak. A consequence is that the precise operating conditions, and assumptions about prior knowledge, can play a crucial role in assessing the severity of any measured vunerability. We develop this theme by concentrating on vulnerability measures that are robust in the sense of allowing general leakage bounds to be placed on a program, bounds that apply whatever its operating conditions and whatever the prior knowledge might be. In particular we propose a theory of channel capacity, generalising the Shannon capacity of information theory, that can apply both to additive- and to multiplicative forms of a recently-proposed measure known as g-leakage. Further, we explore the computational aspects of calculating these (new) capacities: one of these scenarios can be solved efficiently by expressing it as a Kantorovich distance, but another turns out to be NP-complete. We also find capacity bounds for arbitrary correlations with data not directly accessed by the channel, as in the scenario of Dalenius's Desideratum.
Mário S. Alvim, Konstantinos Chatzikokolakis 0001, Annabelle McIver, Carroll Morgan, Catuscia Palamidessi, Geoffrey Smith 0001
CSF4
2014 Towards a Formal Analysis of Information Leakage for Signature Attacks in Preferential Elections
Roland Wen, Annabelle McIver, Carroll Morgan
FM3
2014 Abstractions of non-interference security: probabilistic versus possibilistic
abstract
Abstract The Shadow Semantics (Morgan, Math Prog Construction, vol 4014, pp 359–378, 2006 ; Morgan, Sci Comput Program 74(8):629–653, 2009 ) is a possibilistic (qualitative) model for noninterference security. Subsequent work (McIver et al., Proceedings of the 37th international colloquium conference on Automata, languages and programming: Part II, 2010 ) presents a similar but more general quantitative model that treats probabilistic information flow. Whilst the latter provides a framework to reason about quantitative security risks, that extra detail entails a significant overhead in the verification effort needed to achieve it. Our first contribution in this paper is to study the relationship between those two models (qualitative and quantitative) in order to understand when qualitative Shadow proofs can be “promoted” to quantitative versions, i.e. in a probabilistic context. In particular we identify a subset of the Shadow’s refinement theorems that, when interpreted in the quantitative model, still remain valid even in a context where a passive adversary may perform probabilistic analysis. To illustrate our technique we show how a semantic analysis together with a syntactic restriction on the protocol description, can be used so that purely qualitative reasoning can nevertheless verify probabilistic refinements for an important class of security protocols. We demonstrate the semantic analysis by implementing the Shadow semantics in Rodin, using its special-purpose refinement provers to generate (and discharge) the required proof obligations (Abrial et al., STTT 12(6):447–466, 2010 ). We apply the technique to some small examples based on secure multi-party computations.
Thai Son Hoang, Annabelle McIver, Larissa Meinicke, Carroll Morgan, Anthony M. Sloane, E. Susatyo
Formal Aspects Comput.4
2014 An old new notation for elementary probability theory
Carroll Morgan
Sci. Comput. Program.1
2014 Selected papers from the Brazilian Symposium on Formal Methods (SBMF 2011)
Adenilso da Silva Simão, Carroll Morgan
Sci. Comput. Program.2
2014 Real-reward testing for probabilistic processes
Yuxin Deng 0001, Rob J. van Glabbeek, Matthew Hennessy, Carroll Morgan
Theor. Comput. Sci.4
2013 Lattices of Information for Security: Deterministic, Demonic, Probabilistic
Carroll Morgan
ICFEM1
2012 A Kantorovich-Monadic Powerdomain for Information Hiding, with Probability and Nondeterminism
abstract
We propose a novel domain-theoretic model for nondeterminism, probability and hidden state, with relations on it that compare information flow. One relation is Smyth-like, based on a structural, refinement-like order between semantic elements; the other is a testing order that generalises several extant entropy-based techniques. Our principal theorem is that the two orders are equivalent. The model is based on the Giry/Kantorovich monads, and it abstracts Partially Observable Markov Decision Processes by discarding observables' actual values but retaining the effect they had on an observer's knowledge. We illustrate the model, and its orders, on some small examples, where we find that our formalism provides the apparatus for comparing systems in terms of the information they leak.
Annabelle McIver, Larissa Meinicke, Carroll Morgan
LICS3
2012 Elementary Probability Theory in the Eindhoven Style
Carroll Morgan
MPC1
2012 Compositional noninterference from first principles
abstract
Abstract The recently formulated Shadow Semantics for noninterference-style security of sequential programs avoids the Refinement Paradox by preserving demonic nondeterminism in those cases where reducing it would compromise security. The construction (originally) of the semantic domain for The Shadow , and the interpretation of programs in it, relied heavily on intuition, guesswork and the advice of others. That being so, it is natural after the fact to try to reconstruct an idealised “inevitable” path from first principles to where we actually ended up: not only does one learn (more) about semantic principles by doing so, but the “rational reconstruction” helps to expose the choices made, along the way, and to legitimise the decisions that resolved them. Unlike our other papers on noninterference, this one does not contain a significant case study: instead its aim is to provide the most accessible account we can of the methods we use and why our model, in its details, has turned out the way it has. In passing, it might give some insight into the general role and significance of compositionality and testing-with-context for program semantics. Finally, a technical contribution here is a new “Transfer Principle” that captures uniformly a large class of classical refinements that remain valid when noninterference is taken into account in our style.
Carroll Morgan
Formal Aspects Comput.1
2011 Compositional refinement in agent-based security protocols
abstract
Abstract A truly secure protocol is one which never violates its security requirements, no matter how bizarre the circumstances, provided those circumstances are within its terms of reference. Such cast-iron guarantees, as far as they are possible, require formal, rigorous techniques: proof or model-checking. Informally, they are difficult or impossible to achieve. Our rigorous technique is refinement , until recently not much applied to security. We argue its benefits by using refinement-based program algebra to develop several security case studies. That is one of our contributions here. The soundness of the technique follows from its compositional semantics, one which we defined (elsewhere) to support a specialisation of standard refinement by enriching standard semantics with information that tracks correlations between hidden state and visible behaviour. A further contribution is to extend the basic theory of secure refinement (Morgan in Mathematics of program construction, Springer, Berlin, vol. 4014, pp. 359–378, 2006 ) with special features required by our case studies, namely agent-based systems with complementary security requirements, and looping programs.
Annabelle McIver, Carroll Morgan
Formal Aspects Comput.2
2010 Compositional Closure for Bayes Risk in Probabilistic Noninterference
Annabelle McIver, Larissa Meinicke, Carroll Morgan
ICALP (2)3
2010 Linear-Invariant Generation for Probabilistic Programs: - Automated Support for Proof-Based Methods
Joost-Pieter Katoen, Annabelle McIver, Larissa Meinicke, Carroll Morgan
SAS4
2009 Testing Finitary Probabilistic Processes
Yuxin Deng 0001, Rob J. van Glabbeek, Matthew Hennessy, Carroll Morgan
CONCUR4
2009 Sums and Lovers: Case Studies in Security, Compositionality and Refinement
Annabelle McIver, Carroll Morgan
FM2
2009 Security, Probability and Nearly Fair Coins in the Cryptographers' Café
Annabelle McIver, Larissa Meinicke, Carroll Morgan
FM3
2009 The Shadow Knows: Refinement and security in sequential programs
Carroll Morgan
Sci. Comput. Program.1
2008 Proofs and Refutations for Probabilistic Refinement
Annabelle McIver, Carroll Morgan, Carlos Gonzalía
FM2
2008 Characterising Testing Preorders for Finite Probabilistic Processes
abstract
In 1992 Wang & Larsen extended the may- and must preorders of De Nicola and Hennessy to processes featuring probabilistic as well as nondeterministic choice. They concluded with two problems that have remained open throughout the years, namely to find complete axiomatisations and alternative characterisations for these preorders. This paper solves both problems for finite processes with silent moves. It characterises the may preorder in terms of simulation, and the must preorder in terms of failure simulation. It also gives a characterisation of both preorders using a modal logic. Finally it axiomatises both preorders over a probabilistic version of CSP.
Yuxin Deng 0001, Rob J. van Glabbeek, Matthew Hennessy, Carroll Morgan
Log. Methods Comput. Sci.4
2007 Scalar Outcomes Suffice for Finitary Probabilistic Testing
Yuxin Deng 0001, Rob J. van Glabbeek, Carroll Morgan, Chenyi Zhang 0001
ESOP3
2007 Characterising Testing Preorders for Finite Probabilistic Processes
abstract
In 1992 Wang & Larsen extended the may- and must preorders of De Nicola and Hennessy to processes featuring probabilistic as well as nondeterministic choice. They concluded with two problems that have remained open throughout the years, namely to find complete axiomatisations and alternative characterisations for these preorders. This paper solves both problems for finite processes with silent moves. It characterises the may preorder in terms of simulation, and the must preorder in terms of failure simulation. It also gives a characterisation of both preorders using a modal logic. Finally it axiomatises both preorders over a probabilistic version of CSP.
Yuxin Deng 0001, Rob J. van Glabbeek, Matthew Hennessy, Carroll Morgan, Chenyi Zhang 0001
LICS4
2007 Results on the quantitative µ-calculus qMµ
abstract
The μ-calculus is a powerful tool for specifying and verifying transition systems, including those with both demonic (universal) and angelic (existential) choice; its quantitative generalization qM μ extends to include probabilistic choice.We make two major contributions to the theory of such systems. The first is to show that for a finite-state system, the logical interpretation of qM μ, via fixed points in a domain of real-valued functions into [0, 1], is equivalent to an operational interpretation given as a turn-based gambling game between two players.The second contribution is to show that each player in the gambling game has an optimal memoryless strategy---that is, a strategy which is independent of the game's history, and with which a player can achieve his optimal expected reward however his opponent chooses to play. Moreover, since qM μ is expressive enough to encode stochastic parity games , our result implies the existence of memoryless strategies in that framework, as well.As an additional feature, we include an extensive case study demonstrating the aforementioned duality between games and logic. Among other things, it shows that the use of algorithmic verification techniques is mathematically justified in the practical computation of probabilistic system properties.
Annabelle McIver, Carroll Morgan
ACM Trans. Comput. Log.2
2006 The Shadow Knows: Refinement of Ignorance in Sequential Programs
Carroll Morgan
MPC1
2005 An elementary proof that Herman's Ring is Theta (N2)
Annabelle McIver, Carroll Morgan
Inf. Process. Lett.2
2005 Probabilistic guarded commands mechanized in HOL
Joe Hurd, Annabelle McIver, Carroll Morgan
Theor. Comput. Sci.3
2004 Deriving Probabilistic Semantics Via the 'Weakest Completion'
Jifeng He 0001, Carroll Morgan, Annabelle McIver
ICFEM2
2003 Almost-certain eventualities and abstract probabilities in the quantitative temporal logic qTL
Annabelle McIver, Carroll Morgan
Theor. Comput. Sci.2
2002 Games, Probability and the Quantitative µ-Calculus qMµ
Annabelle McIver, Carroll Morgan
LPAR2
2001 Cost Analysis of Games, Using Program Logic
abstract
Summary form only given. Recent work in probabilistic programming semantics has provided a relatively simple probabilistic extension to predicate transformers, making it possible to treat small imperative probabilistic programs containing both demonic and angelic nondeterminism. That work in turn has extended to provide a probabilistic basis for the modal /spl mu/-calculus of Kozen (1983), and leads to a quantitative /spl mu/-calculus. Standard (non-probabilistic) /spl mu/-calculus can be interpreted either 'normally', over its semantic domain, or as a two-player game between an 'angel' and a 'demon' representing the two forms of choice. Stirling (1995) has argued that the two interpretations correspond. Quantitative p-calculus too can be interpreted both ways, with the novel interpretation being the second: a probabilistic game involving an angel and a demon. Each player seeks a strategy to maximise (resp. minimise) the game's 'outcome', with the steps in the game now being stochastic. That suggests a connection with Markov decision processes, in which players compete for high (resp. low) 'rewards' over a Markov transition system. In this paper we explore that connection, showing how for example discounted Markov decision processes (MDP's) and terminating MDP's can be written as quantitative p-formulae. The 'normal' interpretation of those formulae (i.e. over the semantic domain) then seems to give a much more direct access to existence theorems than the presentation usually associated with MDP's. Our technical contribution is to explain the coding of MDP's as quantitative p-formulae, to discuss the extension of the latte in incorporate 'rewards', and to illustrate the resulting reformulation of several existence theorems. In an appendix we give an algebraic characterisation of the new quantitative-with-reward form of the calculus.
Carroll Morgan, Annabelle McIver
APSEC1
2001 Demonic, angelic and unbounded probabilistic choices in sequential programs
Annabelle McIver, Carroll Morgan
Acta Informatica2
2001 Partial correctness for probabilistic demonic programs
Annabelle McIver, Carroll Morgan
Theor. Comput. Sci.2
1996 Refinement-Oriented Probability for CSP
abstract
Abstract Jones and Plotkin give a general construction for forming a probabilistic powerdomain over any directed-complete partial order [Jon90, JoP89]. We apply their technique to the failures/divergences semantic model for Communicating Sequential Processes [Hoa85]. The resulting probabilistic model supports a new binary operator, probabilistic choice, and retains all operators of CSP including its two existing forms of choice. An advantage of using the general construction is that it is easy to see which CSP identities remain true in the probabilistic model. A surprising consequence however is that probabilistic choice distributes through all other operators; such algebraic mobility means that the syntactic position of the choice operator gives little information about when the choice actually must occur. That in turn leads to some interesting interaction between probability and nondeterminism. A simple communications protocol is used to illustrate the probabilistic algebra, and several suggestions are made for accommodating and controlling nondeterminism when probability is present.
Carroll Morgan, Annabelle McIver, Karen Seidel 0002, Jeff W. Sanders
Formal Aspects Comput.1
1996 Unifying wp and wlp
Carroll Morgan, Annabelle McIver
Inf. Process. Lett.1
1996 Probabilistic Predicate Transformers
abstract
Probabilistic predicates generalize standard predicates over a state space; with probabilistic predicate transformers one thus reasons about imperative programs in terms of probabilistic pre- and postconditions. Probabilistic healthiness conditions generalize the standard ones, characterizing “real” probabilistic programs, and are based on a connection with an underlying relational model for probabilistic execution; in both contexts demonic nondeterminism coexists with probabilistic choice. With the healthiness conditions, the associated weakest-precondition calculus seems suitable for exploring the rigorous derivation of small probabilistic programs.
Carroll Morgan, Annabelle McIver, Karen Seidel 0002
ACM Trans. Program. Lang. Syst.1
1995 Action Systemes, Unbounded Nondeterminism, and Infinite Traces
abstract
Abstract Morgan [Mor90a] has described a correspondence between Back's action systems [BKS83] and the conventional failures-divergences model of Hoare's communicating sequential processes (CSP) formalism [Hoa85]. However, the CSP failures-divergences model does not treat unbounded nondeterminism, although unbounded nondeterminism arises quite naturally in action systems; to that extent, the correspondence between the two approaches is inadequate. Fortunately there is an extended infinite traces model of CSP [RoB89] which treats unbounded nondeterminism. We extend the CSP-action system correspondence, using that model instead, to take the unbounded nondeterminism of action systems properly into account. In passing, we develop a definition of the weakest precondition under which an infinite heterogeneous trace of actions is enabled.
Michael J. Butler, Carroll Morgan
Formal Aspects Comput.2
1995 Exits in the Refinement Calculus
abstract
Abstract Although many programming languages contain exception handling mechanisms, their formal treatment — necessary for rigorous development — can be complex. Nevertheless, this paper presents a simple incorporation of exit commands and exception blocks into a rigorous program development method. The refinement calculus, chosen for the exercise, is a method of developing imperative programs. It is based on weakest preconditions, although they are not used explicitly during program construction; they merely justify the general method. In the style of the refinement calculus, program development laws are given that introduce and allow the manipulation of exit s. The soundness of the new laws is shown using weakest preconditions (as for the existing refinement calculus laws). The extension of weakest preconditions needed to handle exit s is a variation on earlier work of Cristian; the variation is necessary to handle nondeterminism.
Steve King 0001, Carroll Morgan
Formal Aspects Comput.2
1994 Foreword: Special Issue on Mathematics of Program Construction
Carroll Morgan
Sci. Comput. Program.1
1993 A Single Complete Rule for Data Refinement
abstract
Abstract One module is said to be refined by a second if no program using the second module can detect that it is not using the first; in that case the second module can replace the first in any program. Data refinement transforms the interior pieces of a module — its state and consequentially its operations — in order to refine the module overall. A method for data refinement is sound if applying it actually does refine the module; a method is complete if any refinement of modules can be realised by its application. It has been known for some time that there are two methods of data refinement which are jointly complete for boundedly-nondeterministic programs: any refinement can be realised by applying one method then the other. Those two methods are formulated in terms of relations between states. Here it is shown that using predicate transformers, instead, allows a single complete method.
Paul H. B. Gardiner, Carroll Morgan
Formal Aspects Comput.2
1991 Data Refinement of Predicate Transformers
Paul H. B. Gardiner, Carroll Morgan
Theor. Comput. Sci.2
1990 Data Refinement by Calculation
Carroll Morgan, Paul H. B. Gardiner
Acta Informatica1
1990 Types and Invariants in the Refinement Calculus
Carroll Morgan, Trevor Vickers
Sci. Comput. Program.1
1989 Types and Invariants in the Refinement Calculus
Carroll Morgan
MPC1
1988 Data Refinement by Miracles
Carroll Morgan
Inf. Process. Lett.1
1988 Auxiliary Variables in Data Refinement
Carroll Morgan
Inf. Process. Lett.1
1988 Procedures, parameters, and abstraction: Separate concerns
Carroll Morgan
Sci. Comput. Program.1
1988 The Specification Statement
abstract
Dijkstra's programming language is extended by specification statements , which specify parts of a program “yet to be developed.” A weakest precondition semantics is given for these statements so that the extended language has a meaning as precise as the original. The goal is to improve the development of programs, making it closer to manipulations within a single calculus. The extension does this by providing one semantic framework for specifications and programs alike: Developments begin with a program (a single specification statement) and end with a program (in the executable language). And the notion of refinement or satisfaction , which normally relates a specification to its possible implementations, is automatically generalized to act between specifications and between programs as well. A surprising consequence of the extension is the appearance of miracles : program fragments that do not satisfy Dijkstra's Law of the Excluded Miracle . Uses for them are suggested.
Carroll Morgan
ACM Trans. Program. Lang. Syst.1
1985 Global and Logical Time in Distributed Algorithms
Carroll Morgan
Inf. Process. Lett.1
1984 Specification of the UNIX Filing System
abstract
A specification of the UNIX filing system is given using a notation based on elementary mathematical set theory. The notation used involves very few special constructs of its own. The specification is detailed enough to capture the filing system's behavior at the system call level, yet abstracts from issues of data representation, whether in programs or on the storage medium, and from the description of any algorithms which might be used to implement the system. The presentation of the specification is in several stages, each new stage building on its predecessors; major concepts are introduced separately so that they may be easily understood. The notation used allows these separate stages to be joined together to give a complete description of each filing system operation-including its error conditions. Features of the specification notation are explained as they are used, and the Appendix gives the definitions of the symbols drawn from set theory.
Carroll Morgan, Bernard Sufrin
IEEE Trans. Software Eng.1