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

Michael J. C. Gordon

dblp:g/MichaelJCGordon · also Mike Gordon · DBLP profile ↗
← Back
20ranked-venue papers
10as first author
0since 2021 · last 2012
—ORCID · none

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

Software engineering, systems software and programming languages · 11 · 4 first-authorTheory of computation · 10 · 5 first-authorArtificial intelligence and machine learning · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-authorDatabases, data management, data science and information retrieval · 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.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Electronic design automation · 86% Integrated circuit design · 14%
Software engineering, system software, and programming languages
2 papers
Program verification · 50% Program analysis · 40% Programming languages and type systems · 10%
Theoretical computer science
2 papers
Logic in computer science · 57% Automated reasoning and model checking · 43%

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

TopicWeightPapersLastEvidence papers
Electronic design automation › hardware verification and test
hardware verification
0.021995
The Semantic Challenge of Verilog HDL · LICS 1995
Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic · LICS 1988
Electronic design automation › hardware description language
verilog semantics
0.011995
The Semantic Challenge of Verilog HDL · LICS 1995
Program analysis › cost analysis
timing analysis
0.011993
A Verifier and Timing Analyser for Simple Imperative Programs (Abstract) · CAV 1993
Integrated circuit design
digital circuit design
0.011988
Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic · LICS 1988
Automated reasoning and model checking › program verification
partial correctness
0.011988
Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic · LICS 1988
Automated reasoning and model checking
program verification
0.011988
Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic · LICS 1988
Programming languages and type systems › language semantics
formal semantics
0.011978
A Metalanguage for Interactive Proof in LCF · POPL 1978
Program verification › theorem proving
interactive proof
0.011978
A Metalanguage for Interactive Proof in LCF · POPL 1978
Programming languages and type systems
metalanguage
0.011978
A Metalanguage for Interactive Proof in LCF · POPL 1978
Program verification
proof assistants
0.011978
A Metalanguage for Interactive Proof in LCF · POPL 1978

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

formal semantics · 0.0event scheduling · 0.0verification · 0.0timing analysis · 0.0
YearPublicationVenuePosition
2012 Decompilation into logic - Improved
Magnus O. Myreen, Michael J. C. Gordon, Konrad Slind
FMCAD2
2012 Function extraction
Magnus O. Myreen, Michael J. C. Gordon
Sci. Comput. Program.2
2011 The Right Tools for the Job: Correctness of Cone of Influence Reduction Proved Using ACL2 and HOL4
Michael J. C. Gordon, Matt Kaufmann, Sandip Ray
J. Autom. Reason.1
2010 ML: metalanguage or object language?
abstract
My talk will celebrate Robin Milner's contribution to functional programming via a combination of reminiscences about the early days of ML and speculations about its future.
Michael J. C. Gordon
ICFP1
2009 Extensible Proof-Producing Compilation
Magnus O. Myreen, Konrad Slind, Michael J. C. Gordon
CC3
2008 Machine-Code Verification for Multiple Architectures - An Application of Decompilation into Logic
abstract
Realistic formal specifications of machine languages for commercial processors consist of thousands of lines of definitions. Current methods support trustworthy proofs of the correctness of programs for one such specification. However, these methods provide little or no support for reusing proofs of the same algorithm implemented in different machine languages. We describe an approach, based on proof-producing decompilation, which both makes machine-code verification tractable and supports proof reuse between different languages. We briefly present examples based on detailed models of machine code for ARM, PowerPC and x86. The theories and tools have been implemented in the HOL4 system.
Magnus O. Myreen, Michael J. C. Gordon, Konrad Slind
FMCAD2
2007 Hoare Logic for Realistically Modelled Machine Code
Magnus O. Myreen, Michael J. C. Gordon
TACAS2
2007 Proof producing synthesis of arithmetic and cryptographic hardware
abstract
Abstract A compiler from a synthesisable subset of higher order logic to clocked synchronous hardware is described. It is being used to create coprocessors for cryptographic and arithmetic applications. The compiler automatically translates a functionfdefined in higher order logic (typically using recursion) into a device that computesfvia a four-phase handshake circuit. Compilation is by fully automatic proof in the HOL4 system, and generates a correctness theorem for each compiled function. Synthesised circuits can be directly translated to Verilog, and then input to design automation tools. A fully-expansive ‘LCF methodology’ allows users to safely modify and extend the compiler’s theorem proving scripts to add optimisations or to enlarge the synthesisable subset of higher order logic.
Konrad Slind, Scott Owens, Juliano Iyoda, Michael J. C. Gordon
Formal Aspects Comput.4
2006 An Integration of HOL and ACL2
abstract
A link between the ACL2 and HOL4 proof assistants is described. This allows each system to be deployed smoothly within a single formal development. Several applications are being considered: using ACL2's execution environment for simulating HOL models; using ACL2's proof automation to discharge HOL proof obligations; and using HOL to specify and verify properties of ACL2 functions that cannot easily be stated in the first-order ACL2 logic. Care has been taken to ensure sound translations between the logics supported by HOL and ACL2. The initial ACL2 theory has been defined inside HOL, so that it is possible to prove mechanically that first-order ACL2 functions on S-expressions correspond to higher-order functions operating on a variety of types. The translation between the two systems operates at the level of S-expressions and is intended to handle large hardware and software models
Michael J. C. Gordon, James Reynolds, Warren A. Hunt Jr., Matt Kaufmann
FMCAD1
2003 Validating the PSL/Sugar Semantics Using Automated Reasoning
abstract
Abstract. The Accellera organisation selected Sugar, IBM’s formal specification language, as the basis for a standard to ‘drive assertion-based verification’ in the electronics industry. Sugar combines regular expressions, Linear Temporal Logic (LTL) and Computation Tree Logic (CTL) into a property language intended for both static verification (e.g. model checking) and dynamic verification (e.g. simulation). In 2003 Accellera decided to rename the evolving standard to ‘Accellera Property Specification Language’ (or ‘PSL’ for short). We motivate and describe a deep semantic embedding of PSL in the version of higher-order logic supported by the HOL 4 theorem-proving system. The main goal of this paper is to demonstrate that mechanised theorem proving can be a useful aid to the validation of the semantics of an industrial design language.
Michael J. C. Gordon
Formal Aspects Comput.1
2002 Relating Event and Trace Semantics of Hardware Description Languages
abstract
Industry standard hardware description languages like Verilog and VHDL are based on event simulation. Formal verification methods such as theorem proving and model checking are based on the analysis of sets of traces of transition systems or automata. There is a semantic gap between these two interpretations and consequently one cannot be sure that results obtained by simulation and formal verification are consistent. This paper is a step towards bridging this gap. A simple simulation cycle is specified for a Verilog-like language and it is shown how for simple examples of practical interest this can be related to a standard formal-verification-oriented model based on traces.
Michael J. C. Gordon
Comput. J.1
2000 The PROSPER Toolkit
Louise A. Dennis, Graham Collins, Michael Norrish, Richard J. Boulton, Konrad Slind, Graham Robinson, Michael J. C. Gordon, Tom Melham
TACAS7
1998 System Description: An Interface Between CLAM and HOL
Konrad Slind, Michael J. C. Gordon, Richard J. Boulton, Alan Bundy
CADE2
1995 The Semantic Challenge of Verilog HDL
abstract
The Verilog hardware description language (HDL) is widely used to model the structure and behaviour of digital systems ranging from simple hardware building blocks to complete systems. Its semantics is based an the scheduling of events and the propagation of changes. Different Verilog models of the same device are used during the design process and it is important that these be 'equivalent'; formal methods for ensuring this could be commercially significant. Unfortunately, there is very little theory available to help. This self-contained tutorial paper explains the semantics of Verilog informally and poses a number of logical and semantic problems that are intended to provoke further research. Any theory developed to support Verilog is likely to be useful for the analysis of the similar (but more complex) language VHDL.
Michael J. C. Gordon
LICS1
1995 A shallow embedding of Z in HOL
Jonathan P. Bowen, Michael J. C. Gordon
Inf. Softw. Technol.2
1993 A Verifier and Timing Analyser for Simple Imperative Programs (Abstract)
Michael J. C. Gordon
CAV1
1988 Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic
abstract
The possibility of extending some of the logical methods that have been recommended for the design of software to the design of hardware, in particular, of synchronous switching circuits implemented in CMOS, is explored. The objective is to design networks that are known by construction. Things that can go wrong with circuits designed in this way are examined. The application of the techniques is discussed.>
Tony Hoare, Michael J. C. Gordon
LICS2
1980 The Denotational Semantics of Sequential Machines
Michael J. C. Gordon
Inf. Process. Lett.1
1979 On the Power of List Iteration
abstract
The list iteration construct lit is defined by: [equation: see PDF] Many simple list processing functions can be programmed as expressions built up from the LISP primitives (car, cdr, cons,… etc.) and lit, examples include most of the operations of Boolean algebra and primitive recursive arithmetic (with the integer n represented by a list (NIL…:NIL) of n NIL's). This latter example shows that the equivalence of list iteration programs is undecidable. In the paper the use of lit is illustrated and two theorems are proved which exhibit limitations on its power; these enable one to show that, for example, LISP's equal and flatten (where e.g. flatten [(1 (2 3) 4 ((5) 6))] = (1 2 3 4 5 6)) cannot be computed by list iteration alone.
Michael J. C. Gordon
Comput. J.1
1978 A Metalanguage for Interactive Proof in LCF
abstract
Article Free Access Share on A Metalanguage for interactive proof in LCF Authors: M. Gordon University of Edinburgh University of EdinburghView Profile , R. Milner University of Edinburgh University of EdinburghView Profile , L. Morris Syracuse University Syracuse UniversityView Profile , M. Newey Australian National University Australian National UniversityView Profile , C. Wadsworth University of Edinburgh University of EdinburghView Profile Authors Info & Claims POPL '78: Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesJanuary 1978Pages 119–130https://doi.org/10.1145/512760.512773Published:01 January 1978Publication History 55citation684DownloadsMetricsTotal Citations55Total Downloads684Last 12 Months96Last 6 weeks5 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Michael J. C. Gordon, Robin Milner, F. Lockwood Morris, Malcolm C. Newey, Christopher P. Wadsworth
POPL1