Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Andrew Butterfield

dblp:35/6105 · DBLP profile ↗
← Back
25ranked-venue papers
9as first author
1since 2021 · last 2021
0000-0002-2337-2101ORCID · corroborated

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

Software engineering, systems software and programming languages · 16 · 6 first-author · 1 since 2021Theory of computation · 11 · 3 first-authorSecurity and privacy · 2Applied, interdisciplinary, general and emerging computing · 1 · 1 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.

Theoretical computer science
2 papers
Automated reasoning and model checking · 100%
Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 94% Requirements engineering and software design · 6%

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

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking
model checking
0.822019
Circus2CSP: A Tool for Model-Checking Circus Using FDR · FM 2019
Towards a Model-Checker for Circus · FM 2019
Programming languages and type systems › specification language
formal specification languages
0.222019
Circus2CSP: A Tool for Model-Checking Circus Using FDR · FM 2019
Towards a Model-Checker for Circus · FM 2019
Programming languages and type systems › language semantics › formal semantics
denotational semantics
0.112009
The Denotational Semantics of slotted-Circus · FM 2009
Programming languages and type systems › language semantics
formal semantics
0.112009
The Denotational Semantics of slotted-Circus · FM 2009
Requirements engineering and software design › formal specification
circus
0.012009
The Denotational Semantics of slotted-Circus · FM 2009

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

model checking · 0.8FDR · 0.8CSP · 0.8slotted-circus · 0.1
YearPublicationVenuePosition
2021 Translation of CCS into CSP, Correct up to Strong Bisimulation
abstract
We present a translation of CCS into CSP which is correct with respect to strong bisimulation. To our knowledge this is the first such translation to enjoy a correctness property. This contributes to the unification of the CCS and CSP families of concurrent calculi, in the spirit of Hoare and He’s unification programme through Unifying Theories of Programming. To facilitate this translation, we define CCSTau, the extension of CCS with visible synchronisation actions and the hiding operator. This separation of concerns between synchronisation and hiding turns out be sufficient to obtain our correct translation. Our translation, implemented in a Haskell prototype, makes it possible to use CSP-based verifiers such as FDR to reason about trace and failure (hence may- and must-testing) preorders for CCS processes.
Gerard Ekembe Ngondi, Vasileios Koutavas, Andrew Butterfield
SEFM3
2019 Towards a Model-Checker for Circus
Artur Oliveira Gomes, Andrew Butterfield
FM2
2019 Circus2CSP: A Tool for Model-Checking Circus Using FDR
Artur Oliveira Gomes, Andrew Butterfield
FM2
2019 Business Process Modeling Flexibility: A Formal Interpretation
Anila Mjeda, Andrew Butterfield, John Noll
MODELSWARD2
2018 Editorial
abstract
No abstract available.
Nikolaj S. Bjørner, Frank S. de Boer, Andrew Butterfield
Formal Aspects Comput.3
2016 Heterogeneous Semantics and Unifying Theories
Jim Woodcock 0001, Simon Foster 0001, Andrew Butterfield
ISoLA (1)3
2016 UTP Semantics for Shared-State, Concurrent, Context-Sensitive Process Models
abstract
Process Modelling Language (PML) is a notationfor describing software development and business processes. It takes the form of a shared-state concurrent imperative language describing tasks asactivities that require resources to startand provide resources when they complete. Its syntax covers sequential composition, parallelism, iteration and choice, but without explicit iteration and choice conditions. It is intended to support a range of context-sensitive interpretations, from a rough guide for intended behaviour, to being very prescriptive about the order in which tasks must occur. We are using Unifying Theories of Programming (UTP) to modelthis range of semantic interpretations, with formal links between them, typically of the nature of a refinement. We address a number of challenges that arise when trying to developa compositional semantics for PML and its shared-state concurrent underpinnings, most notably in how UTP observations need to distinguishbetween dynamic state-changes and static context parameters. The formal semantics are intended as the basis for tool support for process analysis, with applicationsin the healthcare domain, covering such areas as healthcare pathwaysand software development and certification processesfor medical device software.
Andrew Butterfield, Anila Mjeda, John Noll
TASE1
2015 A feature model of actor, agent, functional, object, and procedural programming languages
Howell R. Jordan, Goetz Botterweck, John Noll, Andrew Butterfield, Rem W. Collier
Sci. Comput. Program.4
2014 A UTP approach towards probabilistic protocol verification
abstract
This paper describes an approach towards protocol verification, which is based on the Unifying Theories of Programming framework and the associated refinement calculus: we encode protocol runs as predicates, in the form of homogeneous relations between probability distributions on the state space at the beginning and at the end of the protocol. The attacker model is a variation of the classical Dolev-Yao model, where cryptographic primitives can be broken probabilistically. We obtain a lattice of traces, where safe runs with respect to the attacker not achieving a given goal of the protocol are at the bottom and possible attacks are above in the order of increasing probability of success for the attacker. Copyright © 2012 John Wiley & Sons, Ltd.
Riccardo Bresciani, Andrew Butterfield
Secur. Commun. Networks2
2013 From Distributions to Probabilistic Reactive Programs
Riccardo Bresciani, Andrew Butterfield
ICTAC2
2012 A UTP Semantics of pGCL as a Homogeneous Relation
Riccardo Bresciani, Andrew Butterfield
IFM2
2011 A denotational semantics for Handel-C
abstract
Abstract We present a denotational semantics for a fully functional subset of the Handel-C hardware compilation language (Celoxica Ltd., Handel-C Language Reference Manual, v3.0, 2002, http://www.celoxica.com ), based on the concept of typed assertion traces. We motivate the choice of semantic domains by illustrating the complexities of the behaviour of the language, paying particular attention to the prialt (priority-alternation) construct of Handel-C. We then define the typed assertion traces over an abstract notion of actions, and demonstrate key properties of the key semantic operations on these. The denotational semantics is then given using traces with actions instantiated as state-transformers.
Andrew Butterfield
Formal Aspects Comput.1
2010 Prioritized slotted-Circus
Pawel Gancarski, Andrew Butterfield
ICTAC2
2009 The Denotational Semantics of slotted-Circus
Pawel Gancarski, Andrew Butterfield
FM2
2009 Weakening the Dolev-Yao model through probability
abstract
The Dolev-Yao model has been widely used in protocol verification and has been implemented in many protocol verifiers. There are strong assumptions underlying this model, such as perfect cryptography: the aim of the present work is to propose an approach to weaken this hypothesis, by means of probabilistic considerations on the strength of cryptographic functions. Such an approach may effectively be implemented in actual protocol verifiers. The Yahalom protocol is used as an easy example to show this approach.
Riccardo Bresciani, Andrew Butterfield
SIN2
2009 State Visibility and Communication in Unifying Theories of Programming
abstract
We explore the interactions between program-variable state visibility and communication behaviour in state-rich CSP-like processes, using the Unifying Theories of Programming (UTP) framework. The key results of this work are: having variable state visible while a process is waiting to communicate, results in an operationally complex theory of behaviour; by contrast, considering state as unobservable during communication wait periods results in an elegant theory, with much cleaner operational intuitions. The language constructs most affected by this observability choice are those of external choice and parallel composition. We also discuss situations where this state hiding can prevent the adoption of interesting operators that seize control from waiting processes.
Andrew Butterfield, Pawel Gancarski, Jim Woodcock 0001
TASE1
2009 Mechanising a formal model of flash memory
Andrew Butterfield, Leo Freitas, Jim Woodcock 0001
Sci. Comput. Program.1
2008 POSIX and the Verification Grand Challenge: A Roadmap
abstract
We present a research roadmap for the second pilot project in the Verified Software Grand Challenge on formally verified POSIX file stores. The work is inspired by the requirements for NASA's forthcoming Mars Rover missions. The roadmap describes an integrated and comprehensive body of work, including current work, as well as further opportunities for collaboration.
Leo Freitas, Jim Woodcock 0001, Andrew Butterfield
ICECCS3
2007 Formalising Flash Memory: First Steps
abstract
We present first steps in the construction of formal models of NAND flash memory, based on a recently emerged open standard for such devices. The model is at a level of abstraction that captures the internal architecture of such a device, as well as the commands that are used to operate it. The model is intended as a key step in a plan to develop a verified filestore system, by providing a description of the hardware devices that would be used in it implementation.
Andrew Butterfield, Jim Woodcock 0001
ICECCS1
2007 Slotted-Circus
Andrew Butterfield, Adnan Sherif, Jim Woodcock 0001
IFM1
2007 Foreword: Selected papers from the ninth international workshop on formal methods for industrial critical systems (FMICS 04), Linz, Austria
Andrew Butterfield, Juan Bicarregui, Álvaro Enrique Arenas
Formal Methods Syst. Des.1
2006 Modelling deterministic concurrent I/O
abstract
The problem of expressing I/O and side effects in functional languages is a well-established one. This paper addresses this problem from a general semantic viewpoint by giving a unified framework for describing shared state, I/O and deterministic concurrency. We develop a modified state transformer which lets us mathematically model the API, then investigate and machine verify some broad conditions under which confluence holds. This semantics is used as the basis for a small deterministic Haskell language extension called CURIO, which enforces determinism using runtime checks.Our confluence condition is first shown to hold for a variety of small components, such as individual shared variables, 1-to-1 communication channels, and I-structures. We then show how models of substantial APIs (like a modification of Haskell's file I/O API which permits inter-process communication) may be constructed from these smaller components using "combinators" in such a way that determinism is always preserved. We describe combinators for product, name-indexing and dynamic allocation, the last of which requires some small extensions to cater for process locality.
Malcolm Dowse, Andrew Butterfield
ICFP2
2006 A Lattice-Theoretic Model for an Algebra of Communicating Sequential Processes
Malcolm Tyrrell, Joseph M. Morris, Andrew Butterfield, Arthur Hughes
ICTAC3
2005 prialt in Handel-C: an operational semantics
Andrew Butterfield, Jim Woodcock 0001
Int. J. Softw. Tools Technol. Transf.1
2004 PyEvolve: a toolkit for statistical modelling of molecular evolution
abstract
BACKGROUND: Examining the distribution of variation has proven an extremely profitable technique in the effort to identify sequences of biological significance. Most approaches in the field, however, evaluate only the conserved portions of sequences - ignoring the biological significance of sequence differences. A suite of sophisticated likelihood based statistical models from the field of molecular evolution provides the basis for extracting the information from the full distribution of sequence variation. The number of different problems to which phylogeny-based maximum likelihood calculations can be applied is extensive. Available software packages that can perform likelihood calculations suffer from a lack of flexibility and scalability, or employ error-prone approaches to model parameterisation. RESULTS: Here we describe the implementation of PyEvolve, a toolkit for the application of existing, and development of new, statistical methods for molecular evolution. We present the object architecture and design schema of PyEvolve, which includes an adaptable multi-level parallelisation schema. The approach for defining new methods is illustrated by implementing a novel dinucleotide model of substitution that includes a parameter for mutation of methylated CpG's, which required 8 lines of standard Python code to define. Benchmarking was performed using either a dinucleotide or codon substitution model applied to an alignment of BRCA1 sequences from 20 mammals, or a 10 species subset. Up to five-fold parallel performance gains over serial were recorded. Compared to leading alternative software, PyEvolve exhibited significantly better real world performance for parameter rich models with a large data set, reducing the time required for optimisation from approximately 10 days to approximately 6 hours. CONCLUSION: PyEvolve provides flexible functionality that can be used either for statistical modelling of molecular evolution, or the development of new methods in the field. The toolkit can be used interactively or by writing and executing scripts. The toolkit uses efficient processes for specifying the parameterisation of statistical models, and implements numerous optimisations that make highly parameter rich likelihood functions solvable within hours on multi-cpu hardware. PyEvolve can be readily adapted in response to changing computational demands and hardware configurations to maximise performance. PyEvolve is released under the GPL and can be downloaded from http://cbis.anu.edu.au/software.
Andrew Butterfield, Vivek Vedagiri, Edward Lang, Cath Lawrence, Matthew J. Wakefield, Alexander Isaev, Gavin A. Huttley
BMC Bioinform.1