C. Antony R. Hoare

According to our database1, C. Antony R. Hoare authored at least 166 papers between 1961 and 2019.

Collaborative distances:
  • Dijkstra number2 of one.
  • Erdős number3 of three.


Turing Prize recipient

Turing Prize 1980, "For his fundamental contributions to the definition and design of programming languages".



In proceedings 
PhD thesis 


On csauthors.net:


A Calculus of Space, Time, and Causality: Its Algebra, Geometry, Logic.
Proceedings of the Unifying Theories of Programming - 7th International Symposium, 2019

Logic, Algebra, and Geometry at the Foundation of Computer Science.
Proceedings of the Formal Methods Teaching - Third International Workshop and Tutorial, 2019

Developments in concurrent Kleene algebra.
J. Log. Algebraic Methods Program., 2016

A Discrete Geometric Model of Concurrent Program Execution.
Proceedings of the Unifying Theories of Programming - 6th International Symposium, 2016

Exploring an Interface Model for CKA.
Proceedings of the Mathematics of Program Construction - 12th International Conference, 2015

The laws of programming unify process calculi.
Sci. Comput. Program., 2014

Laws of concurrent programming.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, 2014

Laws of Programming: The Algebraic Unification of Theories of Concurrency.
Proceedings of the CONCUR 2014 - Concurrency Theory - 25th International Conference, 2014

Developments in Concurrent Kleene Algebra.
Proceedings of the Relational and Algebraic Methods in Computer Science, 2014

Laws of programming with concurrency (Invited Talk).
Proceedings of the 2013 Imperial College Computing Student Workshop, 2013

Generic Models of the Laws of Programming.
Proceedings of the Theories of Programming and Formal Methods, 2013

Unifying Semantics for Concurrent Programming.
Proceedings of the Computation, Logic, Games, and Quantum Foundations. The Many Facets of Samson Abramsky, 2013

In praise of algebra.
Formal Asp. Comput., 2012

Algebra Unifies Operational Calculi.
Proceedings of the Unifying Theories of Programming, 4th International Symposium, 2012

Message of thanks: on the receipt of the 2011 ACM SIGPLAN distinguished achievement award.
Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2012

Algebra of concurrent design.
Proceedings of the Formal Methods in Computer-Aided Design, 2012

Net Models for Concurrent Object Behaviour.
Proceedings of the Application and Theory of Petri Nets - 33rd International Conference, 2012

Unifying Models of Data Flow.
Proceedings of the Software and Systems Safety - Specification and Verification, 2011

Concurrent Kleene Algebra and its Foundations.
J. Log. Algebraic Methods Program., 2011

On Locality and the Exchange Law for Concurrent Processes.
Proceedings of the CONCUR 2011 - Concurrency Theory - 22nd International Conference, 2011

Recovery Blocks.
Proceedings of the Dependable and Historic Computing, 2011

CSP is a retract of CCS.
Theor. Comput. Sci., 2010

Fine-grain concurrency.
Concurr. Comput. Pract. Exp., 2010

Testing and Proving, Hand-in-Hand.
Proceedings of the Testing, 2010

Differential static analysis: opportunities, applications, and challenges.
Proceedings of the Workshop on Future of Software Engineering Research, 2010

Unraveling a Card Trick.
Proceedings of the Time for Verification, 2010

Graphical models of separation logic.
Inf. Process. Lett., 2009

The verified software initiative: A manifesto.
ACM Comput. Surv., 2009

Preface to special issue on software verification.
ACM Comput. Surv., 2009

Viewpoint - Retrospective: an axiomatic basis for computer programming.
Commun. ACM, 2009

Concurrent Kleene Algebra.
Proceedings of the CONCUR 2009 - Concurrency Theory, 20th International Conference, 2009

Foundations of Concurrent Kleene Algebra.
Proceedings of the Relations and Kleene Algebra in Computer Science, 2009

Separation Logic Semantics for Communicating Processes.
Electron. Notes Theor. Comput. Sci., 2008

Verification of Fine-grain Concurrent Programs.
Electron. Notes Theor. Comput. Sci., 2008

Compensable Transactions.
Proceedings of the Advanced Lectures on Software Engineering, 2008

Verified Software: Theories, Tools, Experiments.
Proceedings of the 13th International Conference on Engineering of Complex Computer Systems (ICECCS 2008), March 31 2008, 2008

Keynote: A Vision for the Science of Computing.
Proceedings of the Visions of Computer Science, 2008

The Ideal of Program Correctness: Third Computer Journal Lecture.
Comput. J., 2007

Science and Engineering: A Collusion of Cultures.
Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, 2007

The verified software repository: a step towards the verifying compiler.
Formal Asp. Comput., 2006

Intelligent Systems and Formal Methods in Software Engineering.
IEEE Intell. Syst., 2006

Why ever CSP?
Electron. Notes Theor. Comput. Sci., 2006

Proving correctness of highly-concurrent linearisable objects.
Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006

The ideal of verified software.
Proceedings of the Sixth International Workshop on the ACL2 Theorem Prover and its Applications, 2006

Grand Challenges for Computing Research.
Comput. J., 2005

Verified Software: Theories, Tools, Experiments Vision of a Grand Challenge Project.
Proceedings of the Verified Software: Theories, 2005

Linking Theories of Concurrency.
Proceedings of the Theoretical Aspects of Computing, 2005

Comparing Two Approaches to Compensable Flow Composition.
Proceedings of the CONCUR 2005 - Concurrency Theory, 16th International Conference, 2005

Stuck-Free Conformance.
Proceedings of the Computer Aided Verification, 16th International Conference, 2004

Process Algebra: A Unifying Approach.
Proceedings of the Communicating Sequential Processes: The First 25 Years, 2004

Towards the Verifying Compiler.
Proceedings of the From Object-Orientation to Formal Methods, 2004

A Trace Semantics for Long-Running Transactions.
Proceedings of the Communicating Sequential Processes: The First 25 Years, 2004

The verifying compiler: A grand challenge for computing research.
J. ACM, 2003

Assertions: A Personal Perspective.
IEEE Annals of the History of Computing, 2003

The Verifying Compiler: A Grand Challange for Computing Research.
Proceedings of the Modular Programming Languages, Joint Modular Languages Conference, 2003

In memoriam: Edsger W. Dijkstra 1930-2002.
Commun. ACM, 2002

Assertions in Programming: From Scientific Theory to Engineering Practice.
Proceedings of the Soft-Ware 2002: Computing in an Imperfect World, 2002

Assertions in Modern Software Engineering Practice.
Proceedings of the 26th International Computer Software and Applications Conference (COMPSAC 2002), 2002

Proof of Correctness of Data Representations (Reprint).
Proceedings of the Software Pioneers., 2002

An Axiomatic Basis for Computer Programming (Reprint).
Proceedings of the Software Pioneers., 2002

Assertions: A Personal Perspective.
Proceedings of the Software Pioneers., 2002

Inf. Process. Lett., 2001

Growing Use of Assertions.
Proceedings of the TOOLS Europe 2001: 38th International Conference on Technology of Object-Oriented Languages and Systems, 2001

A Hard Act to Follow.
High. Order Symb. Comput., 2000

Proceedings of the Integrated Formal Methods, Second International Conference, 2000

Legacy Code.
Proceedings of the 3rd IEEE International Conference on Formal Engineering Methods, 2000

Algebraic derivation of an operational semantics.
Proceedings of the Proof, Language, and Interaction, Essays in Honour of Robin Milner, 2000

Unifying theories of healthiness condition.
Proceedings of the 7th Asia-Pacific Software Engineering Conference (APSEC 2000), 2000

Linking Theories in Probabilistic Programming.
Inf. Sci., 1999

A Semantics for Imprecise Exceptions.
Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 1999

Algebra of Logic Programming.
Proceedings of the Logic Programming: The 1999 International Conference, Las Cruces, New Mexico, USA, November 29, 1999

Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle.
Proceedings of the FM'99 - Formal Methods, 1999

A Trace Model for Pointers and Objects.
Proceedings of the ECOOP'99, 1999

Unifying theories of programming.
Proceedings of the Participants Copies for Relational Methods in Logic, 1998

Unifying Theories for Parallel Programming.
Proceedings of the Euro-Par '97 Parallel Processing, 1997

The logic of engineering design.
Microprocess. Microprogramming, 1996

Unifying Theories : A Personal Statement.
ACM Comput. Surv., 1996

Mathematical models for computing science.
Proceedings of the NATO Advanced Study Institute on Deductive Program Design, 1996

The Role of Formal Techniques: Past, Current and Future or How Did Software Get so Reliable without Proof? (Extended Abstract).
Proceedings of the 18th International Conference on Software Engineering, 1996

How Did Software Get So Reliable Without Proof?
Proceedings of the FME '96: Industrial Benefit and Advances in Formal Methods, 1996

Sequential Calculus.
Inf. Process. Lett., 1995

Unification of Theories: A Challenge for Computing Science.
Proceedings of the Recent Trends in Data Type Specification, 1995

J. Log. Comput., 1994

Hardware and Software: The Closing Gap.
Proceedings of the Programming Languages and System Architectures, 1994

Provably Correct Systems.
Proceedings of the Formal Techniques in Real-Time and Fault-Tolerant Systems, Third International Symposium Organized Jointly with the Working Group Provably Correct Systems, 1994

From Algebra to Operational Semantics.
Inf. Process. Lett., 1993

Normal Form Approach to Compiler Design.
Acta Informatica, 1993

Algebra and Models.
Proceedings of the SIGSOFT '93, 1993

A Model for Synchronous Switching Circuits and its Theory of Correctness.
Formal Methods Syst. Des., 1992

Programs are Predicates.
Proceedings of the International Conference on Fifth Generation Computer Systems. FGCS 1992, 1992

A Theory for the Derivation of Combinational C-MOS Circuit Designs.
Theor. Comput. Sci., 1991

Pre-Adjunctions in Order Enriched Categories.
Math. Struct. Comput. Sci., 1991

A Calculus of Durations.
Inf. Process. Lett., 1991

The transputer and occam: A personal story.
Concurr. Pract. Exp., 1991

Fixed Points of Increasing Functions.
Inf. Process. Lett., 1990

A Theory of Conjunction and Concurrency.
Proceedings of the Parallel Architectures (Postconference PARBASE-90)., 1990

A Theory of Synchrony and Asynchrony.
Proceedings of the Programming concepts and methods: Proceedings of the IFIP Working Group 2.2, 1990

Let's Make Models (Abstract).
Proceedings of the CONCUR '90, 1990

The Varieties of Programming Language.
Proceedings of the TAPSOFT'89: Proceedings of the International Joint Conference on Theory and Practice of Software Development, 1989

Categorical Semantics for Programming Languages.
Proceedings of the Mathematical Foundations of Programming Semantics, 5th International Conference, Tulane University, New Orleans, Louisiana, USA, March 29, 1989

The Laws of Occam Programming.
Theor. Comput. Sci., 1988

Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic
Proceedings of the Third Annual Symposium on Logic in Computer Science (LICS '88), 1988

Prespecification in Data Refinement.
Inf. Process. Lett., 1987

The Weakest Prespecification.
Inf. Process. Lett., 1987

Algebraic Specification and Proof of a Distributed Recovery Algorithm.
Distributed Comput., 1987

An Overview of Some Formal Methods for Program Design.
IEEE Computer, 1987

Laws of Programming.
Commun. ACM, 1987

Specification-Oriented Semantics for Communicating Processes.
Acta Informatica, 1986

Data Refinement Refined.
Proceedings of the ESOP 86, 1986

A Couple of Novelties in the Propositional Calculus.
Math. Log. Q., 1985

JSD Expressed in CSP.
Proceedings of the Data Types and Persistence, 1985

The Mathematics of Programming.
Proceedings of the Foundations of Software Technology and Theoretical Computer Science, 1985

Communicating Sequential Processes
Prentice-Hall, ISBN: 0-13-153271-5, 1985

Programming: Sorcery or Science?
IEEE Softw., 1984

A Theory of Communicating Sequential Processes.
J. ACM, 1984

Programs as Executable Predicates.
Proceedings of the International Conference on Fifth Generation Computer Systems, 1984

A More Complete Model of Communicating Processes.
Theor. Comput. Sci., 1983

Communicating Sequential Processes (Reprint).
Commun. ACM, 1983

An Axiomatic Basis for Computer Programming (Reprint).
Commun. ACM, 1983

Specification of a simplified Network Service in CSP.
Proceedings of the Analysis of Concurrent Systems, 1983

Workshop on Analysis of Concurrent Systems Attempt at Problem 10: The Matrix Switch.
Proceedings of the Analysis of Concurrent Systems, 1983

Workshop on Analysis of Concurrent Systems Attempt at problem 3: The Firing Squad.
Proceedings of the Analysis of Concurrent Systems, 1983

A Calculus of Total Correctness for Communicating Processes.
Sci. Comput. Program., 1981

The Emperor's Old Clothes.
Commun. ACM, 1981

Partial Correctness of Communicating Sequential Processes.
Proceedings of the 2nd International Conference on Distributed Computing Systems, 1981

A Theory of Nondeterminism.
Proceedings of the Automata, 1980

A Model for Communicating Sequential Processes.
Proceedings of the On the Construction of Programs, 1980

Semantics of Nondeterminism, Concurrency, and Communication.
J. Comput. Syst. Sci., 1979

Some Properties of Predicate Transformers.
J. ACM, 1978

Communicating Sequential Processes.
Commun. ACM, 1978

Semantics of Nondeterminism, Concurrency and Communication (Extended Abstract).
Proceedings of the Mathematical Foundations of Computer Science 1978, 1978

Software Engineering: A Keynote Address.
Proceedings of the 3rd International Conference on Software Engineering, 1978

Ambiguities and Insecurities in Pascal.
Softw. Pract. Exp., 1977

Fast Fourier Transform Free From Tears.
Comput. J., 1977

Quasiparallel Programming.
Softw. Pract. Exp., 1976

Parallel Programming: An Axiomatic Approach.
Comput. Lang., 1976

Recursive data structures.
Int. J. Parallel Program., 1975

Matrix Reduction - An Efficient Method.
Commun. ACM, 1975

The structure of an operating system.
Proceedings of the Language Hierarchies and Interfaces, International Summer School, Marktoberdorf, Germany, July 23, 1975

Proof of correctness of data representation.
Proceedings of the Language Hierarchies and Interfaces, International Summer School, Marktoberdorf, Germany, July 23, 1975

Optimization of Store Size for Garbage Collection.
Inf. Process. Lett., 1974

Monitors: An Operating System Structuring Concept.
Commun. ACM, 1974

Consistent and Complementary Formal Theories of the Semantics of Programming Languages.
Acta Informatica, 1974

A General Conservation Law for Queueing Disciplines.
Inf. Process. Lett., 1973

A Structured Paging System.
Comput. J., 1973

An Axiomatic Definition of the Programming Language PASCAL
Acta Informatica, 1973

ACM Comput. Surv., 1972

Proof of a structured program: 'the sieve of Eratosthenes'.
Comput. J., 1972

Proof of Correctness of Data Representations.
Acta Informatica, 1972

Program Proving: Jumps and Functions.
Acta Informatica, 1972

An axiomatic definition of the programming language PASCAL.
Proceedings of the International Sympoisum on Theoretical Programming, 1972

Structured programming.
A.P.I.C. Studies in data processing 8, Academic Press, ISBN: 978-0-12-200550-3, 1972

Procedures and parameters: An axiomatic approach.
Proceedings of the Symposium on Semantics of Algorithmic Languages, 1971

Proof of a Recursive Program: Quicksort.
Comput. J., 1971

Proof of a Program: FIND.
Commun. ACM, 1971

An Axiomatic Basis for Computer Programming.
Commun. ACM, 1969

Data structures in two-level store.
Proceedings of the Information Processing, Proceedings of IFIP Congress 1968, Edinburgh, UK, 5-10 August 1968, Volume 1, 1968

A contribution to the development of ALGOL.
Commun. ACM, 1966

Review: Book review: ALGOL on the KDF9.
Comput. J., 1964

The Elliott ALGOL input/output system.
Comput. J., 1963

Book Reviews.
Comput. J., 1963

Report on the Elliott ALGOL Translator.
Comput. J., 1962

Comput. J., 1962

Algorithm 64: Quicksort.
Commun. ACM, 1961

Algorithm 65: find.
Commun. ACM, 1961

Algorithm 63: partition.
Commun. ACM, 1961