# C. Antony R. Hoare

According to our database

^{1}, C. Antony R. Hoare## Awards

## Turing Prize recipient

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

## Timeline

#### Legend:

Book In proceedings Article PhD thesis Other## Links

#### On csauthors.net:

## Bibliography

2016

Developments in concurrent Kleene algebra.

J. Log. Algebr. Meth. Program., 2016

A Discrete Geometric Model of Concurrent Program Execution.

Proceedings of the Unifying Theories of Programming - 6th International Symposium, 2016

2015

Exploring an Interface Model for CKA.

Proceedings of the Mathematics of Program Construction - 12th International Conference, 2015

2014

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

2013

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

2012

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

The Laws of Programming Unify Process Calculi.

Proceedings of the Mathematics of Program Construction - 11th International Conference, 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

2011

Unifying Models of Data Flow.

Proceedings of the Software and Systems Safety - Specification and Verification, 2011

Concurrent Kleene Algebra and its Foundations.

J. Log. Algebr. 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

2010

CSP is a retract of CCS.

Theor. Comput. Sci., 2010

Fine-grain concurrency.

Concurrency and Computation: Practice and Experience, 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

2009

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

2008

Separation Logic Semantics for Communicating Processes.

Electr. Notes Theor. Comput. Sci., 2008

Verification of Fine-grain Concurrent Programs.

Electr. Notes Theor. Comput. Sci., 2008

Compensable Transactions.

Proceedings of the Advanced Lectures on Software Engineering, 2008

Fine-Grain Concurrency.

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

2007

The Ideal of Program Correctness:

*Third Computer Journal*Lecture.
Comput. J., 2007

Fine-grain Concurrency.

Proceedings of the 30th Communicating Process Architectures Conference, 2007

Science and Engineering: A Collusion of Cultures.

Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, 2007

2006

The verified software repository: a step towards the verifying compiler.

Formal Asp. Comput., 2006

Intelligent Systems and Formal Methods in Software Engineering.

IEEE Intelligent Systems, 2006

Why ever CSP?

Electr. Notes Theor. Comput. Sci., 2006

CSP Is a Retract of CCS.

Proceedings of the Unifying Theories of Programming, First International Symposium, 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 Computer Aided Verification, 18th International Conference, 2006

The ideal of verified software.

Proceedings of the Sixth International Workshop on the ACL2 Theorem Prover and its Applications, 2006

2005

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

The Verifying Compiler, a Grand Challenge for Computing Research.

Proceedings of the Verification, 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

2004

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

2003

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

The Verifying Compiler: A Grand Challenge for Computing Research.

Proceedings of the Euro-Par 2003. Parallel Processing, 2003

The Verifying Compiler: A Grand Challenge for Computing Research.

Proceedings of the Perspectives of Systems Informatics, 2003

The Verifying Compiler: A Grand Challenge for Computing Research.

Proceedings of the Compiler Construction, 12th International Conference, 2003

2002

In memoriam: Edsger W. Dijkstra 1930-2002.

Commun. ACM, 2002

Towards the Verifying Compiler.

Proceedings of the Formal Methods at the Crossroads. From Panacea to Foundational Support, 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

2001

Legacy.

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

2000

A Hard Act to Follow.

Higher-Order and Symbolic Computation, 2000

Assertions.

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

1999

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

Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle.

Proceedings of the Correct System Design, 1999

1998

Unifying theories of programming.

Proceedings of the Participants Copies for Relational Methods in Logic, 1998

1997

Unifying Theories for Parallel Programming.

Proceedings of the Euro-Par '97 Parallel Processing, 1997

1996

The logic of engineering design.

Microprocessing and 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

1995

Sequential Calculus.

Inf. Process. Lett., 1995

Unification of Theories: A Challenge for Computing Science.

Proceedings of the Recent Trends in Data Type Specification, 1995

1994

Editorial.

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

1993

From Algebra to Operational Semantics.

Inf. Process. Lett., 1993

Normal Form Approach to Compiler Design.

Acta Inf., 1993

Algebra and Models.

Proceedings of the SIGSOFT '93, 1993

1992

A Model for Synchronous Switching Circuits and its Theory of Correctness.

Formal Methods in System Design, 1992

Algebra and Models.

Proceedings of the Program Design Calculi, Proceedings of the NATO Advanced Study Institute on Program Design Calculi, Marktoberdorf, Germany, July 28, 1992

Programs are Predicates.

FGCS, 1992

1991

A Theory for the Derivation of Combinational C-MOS Circuit Designs.

Theor. Comput. Sci., 1991

Pre-Adjunctions in Order Enriched Categories.

Mathematical Structures in Computer Science, 1991

A Calculus of Durations.

Inf. Process. Lett., 1991

The transputer and occam: A personal story.

Concurrency - Practice and Experience, 1991

1990

Fixed Points of Increasing Functions.

Inf. Process. Lett., 1990

A Theory of Conjunction and Concurrency.

Proceedings of the Parallel Architectures (Postconference PARBASE-90)., 1990

Let's Make Models (Abstract).

Proceedings of the CONCUR '90, 1990

1989

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

1988

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

1987

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 Computing, 1987

An Overview of Some Formal Methods for Program Design.

IEEE Computer, 1987

Laws of Programming.

Commun. ACM, 1987

1986

Specification-Oriented Semantics for Communicating Processes.

Acta Inf., 1986

Data Refinement Refined.

Proceedings of the ESOP 86, 1986

1985

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

1984

Programming: Sorcery or Science?

IEEE Software, 1984

A Theory of Communicating Sequential Processes.

J. ACM, 1984

Programs as Executable Predicates.

FGCS, 1984

1983

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-Oriented Semantics for Communicating Processes.

Proceedings of the Automata, 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

1981

A Calculus of Total Correctness for Communicating Processes.

Sci. Comput. Program., 1981

The Emperor's Old Clothes.

Commun. ACM, 1981

Ambiguities and Insecurities in Pascal.

Proceedings of the Pascal - The Language and its Implementation, 1981

Partial Correctness of Communicating Sequential Processes.

Proceedings of the 2nd International Conference on Distributed Computing Systems, 1981

1980

A Theory of Nondeterminism.

Proceedings of the Automata, 1980

A Model for Communicating Sequential Processes.

On the Construction of Programs, 1980

1979

Semantics of Nondeterminism, Concurrency, and Communication.

J. Comput. Syst. Sci., 1979

1978

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

1977

Ambiguities and Insecurities in Pascal.

Softw., Pract. Exper., 1977

Fast Fourier Transform Free From Tears.

Comput. J., 1977

1976

Quasiparallel Programming.

Softw., Pract. Exper., 1976

Parallel Programming: An Axiomatic Approach.

Comput. Lang., 1976

1975

Recursive data structures.

International Journal of Parallel Programming, 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

Parallel programming: an axiomatic approach.

Proceedings of the Language Hierarchies and Interfaces, International Summer School, Marktoberdorf, Germany, July 23, 1975

1974

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 Inf., 1974

1973

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 Inf., 1973

1972

Incomputability.

ACM Comput. Surv., 1972

Proof of a structured program: 'the sieve of Eratosthenes'.

Comput. J., 1972

Proof of Correctness of Data Representations.

Acta Inf., 1972

Program Proving: Jumps and Functions.

Acta Inf., 1972

An axiomatic definition of the programming language PASCAL.

Proceedings of the International Sympoisum on Theoretical Programming, 1972

1971

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

1969

An Axiomatic Basis for Computer Programming.

Commun. ACM, 1969

1968

Data structures in two-level store.

IFIP Congress (1), 1968

1966

A contribution to the development of ALGOL.

Commun. ACM, 1966

1962

Quicksort.

Comput. J., 1962

1961

Algorithm 64: Quicksort.

Commun. ACM, 1961

Algorithm 65: find.

Commun. ACM, 1961

Algorithm 63: partition.

Commun. ACM, 1961