Joseph M. Morris

dblp:09/1164 · DBLP profile ↗
← Back
21ranked-venue papers
19as first author
0since 2021 · last 2009
—ORCID · none

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

Theory of computation · 13 · 12 first-authorSoftware engineering, systems software and programming languages · 8 · 7 first-authorDatabases, data management, data science and information retrieval · 5 · 5 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 61% Program verification · 39%
Theoretical computer science
3 papers
Logic in computer science · 100%

Topics — the 4 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
predicate transformers
0.112009
Term transformers: A new approach to state · ACM Trans. Program. Lang. Syst. 2009
Logic in computer science › semantics
denotational semantics
0.112008
Dually nondeterministic functions · ACM Trans. Program. Lang. Syst. 2008
Program verification › formal program development
formal specification and refinement
0.012008
Dually nondeterministic functions · ACM Trans. Program. Lang. Syst. 2008
Program verification
specification-based reasoning
0.011999
Specificational functions · ACM Trans. Program. Lang. Syst. 1999

Methods — techniques the papers use, named apart from their topics

weakest precondition · 0.2phrase construct · 0.2denotational model · 0.2algebra · 0.2formal axiomatization · 0.0consistency proof · 0.0
YearPublicationVenuePosition
2009 Term transformers: A new approach to state
abstract
We present a new approach to adding state and state-changing commands to a term language. As a formal semantics it can be seen as a generalization of predicate transformer semantics, but beyond that it brings additional opportunities for specifying and verifying programs. It is based on a construct called a phrase , which is a term of the form C ▹ t , where C stands for a command and t stands for a term of any type. If R is boolean, C ▹ R is closely related to the weakest precondition wp ( C , R ). The new theory draws together functional and imperative programming in a simple way. In particular, imperative procedures and functions are seen to be governed by the same laws as classical functions. We get new techniques for reasoning about programs, including the ability to dispense with logical variables and their attendant complexities. The theory covers both programming and specification languages, and supports unbounded demonic and angelic nondeterminacy in both commands and terms.
Joseph M. Morris, Alexander Bunkenburg, Malcolm Tyrrell
ACM Trans. Program. Lang. Syst.1
2008 Modelling higher-order dual nondeterminacy
Joseph M. Morris, Malcolm Tyrrell
Acta Informatica1
2008 Dually nondeterministic functions
abstract
Nondeterminacy is a fundamental notion in computing. We show that it can be described by a general theory that accounts for it in the form in which it occurs in many programming contexts, among them specifications, competing agents, data refinement, abstract interpretation, imperative programming, process algebras, and recursion theory. Underpinning these applications is a theory of nondeterministic functions; we construct such a theory. The theory consists of an algebra with which practitioners can reason about nondeterministic functions, and a denotational model to establish the soundness of the theory. The model is based on the idea of free completely distributive lattices over partially ordered sets. We deduce the important properties of nondeterministic functions.
Joseph M. Morris, Malcolm Tyrrell
ACM Trans. Program. Lang. Syst.1
2007 Dual unbounded nondeterminacy, recursion, and fixpoints
Joseph M. Morris, Malcolm Tyrrell
Acta Informatica1
2007 Terms with unbounded demonic and angelic nondeterminacy
Joseph M. Morris, Malcolm Tyrrell
Sci. Comput. Program.1
2006 A Lattice-Theoretic Model for an Algebra of Communicating Sequential Processes
Malcolm Tyrrell, Joseph M. Morris, Andrew Butterfield, Arthur Hughes
ICTAC2
2005 Software Refinement with Perfect Developer
abstract
Perfect Developer is a software tool that supports the formal development of object-oriented programs by refinement, including formal verification of code. It is built around a single language that supports both specification and implementation. We critically examine how Perfect Developer supports programming by refinement, focusing on three refinement techniques: algorithm refinement, data refinement and delta refinement. In particular we examine the extent to which Perfect Developer provides formal verification for these techniques. We assess it as a tool for software construction and compare it with related tools.
Gareth Carter, Rosemary Monahan, Joseph M. Morris
SEFM3
2004 Augmenting Types with Unbounded Demonic and Angelic Nondeterminacy
Joseph M. Morris
MPC1
2002 A source of inconsistency in theories of nondeterministic functions
Joseph M. Morris, Alexander Bunkenburg
Sci. Comput. Program.1
2001 A theory of bunches
Joseph M. Morris, Alexander Bunkenburg
Acta Informatica1
1999 A Logic for Reasoning Equationally in the Presence of Partiality
Joseph M. Morris, Alexander Bunkenburg
Sci. Comput. Program.1
1999 Specificational functions
abstract
Mathematics supplies us with various operators for creating functions from relations, sets, known functions, and so on. Function inversion is a simple example. These operations are useful in specifying programs. However, many of them have strong constraints on their arguments to ensure that the result is indeed a function. For example, only functions that are bijective may be inverted. This is a serious impediment to their use in specifications, because at best it limits the specifier's expressive power, and at worst it imposes strong proof obligations on the programmer. We propose to loosen the definition of functions so that the constraints on operations such as inversion can be greatly relaxed. The specificational functions that emerge generalize traditional functions in that their application to some arguments may yield no good outcome, while for other arguments their application may yield any of several outcomes unpredictably. While these functions are not in general algorithmic, they can serve as specifications of traditional functions as embodied in programming languages. The idea of specificational functions is not new, but accommodating them in all their generality without falling foul of a myriad of anomalies has proved elusive. We investigate the technical problems that have hindered their use, and propose solutions. In particular, we develop a formal axiomatization for reasoning about specificational functions, and we prove its consistency by constructing a model.
Joseph M. Morris, Alexander Bunkenburg
ACM Trans. Program. Lang. Syst.1
1998 Partiality and Nondeterminacy in Program Proofs
abstract
Abstract. Specifications and programs make much use of nondeterministic and/or partial expressions, i.e. expressions which may yield several or no outcomes for some values of their free variables. Traditional 2-valued logics do not comfortably accommodate reasoning about undefined expressions, and do not cater at all for nondeterministic expressions. We seek to rectify this with a 4-valued typed logic E4 which classifies formulae as either “true”, “false”, “neither true nor false”, or “possibly true, possibly false”. The logic is derived in part from the 2-valued logic E and the 3-valued LPF, and preserves most of the theorems of E . Indeed, the main result is that nondeterminacy can be added to a logic covering partiality at little cost.
Joseph M. Morris, Alexander Bunkenburg
Formal Aspects Comput.1
1997 Non-Deterministic Expressions and Predicate Transformers
Joseph M. Morris
Inf. Process. Lett.1
1990 Temporal Predicat Transformers and Fair Termination
Joseph M. Morris
Acta Informatica1
1989 Laws of Data Refinement
Joseph M. Morris
Acta Informatica1
1989 Well-founded induction and the invariance theorem for loops
Joseph M. Morris
Inf. Process. Lett.1
1987 Varieties of Weakest Liberal Preconditions
Joseph M. Morris
Inf. Process. Lett.1
1987 A Theoretical Basis for Stepwise Refinement and the Programming Calculus
Joseph M. Morris
Sci. Comput. Program.1
1979 A Starvation-Free Solution to the Mutual Exclusion Problem
Joseph M. Morris
Inf. Process. Lett.1
1979 Traversing Binary Trees Simply and Cheaply
Joseph M. Morris
Inf. Process. Lett.1