#742

Most Influential Person

British computer scientist

According to Wikipedia, Sir Charles Antony Richard Hoare is a British computer scientist who has made foundational contributions to programming languages, algorithms, operating systems, formal verification, and concurrent computing. His work earned him the Turing Award, usually regarded as the highest distinction in computer science, in 1980.

- Communicating sequential processes (1978) (12878)
- Communicating sequential processes (1983) (2122)
- Monitors: an operating system structuring concept (1974) (1855)
- An axiomatic basis for computer programming (1969) (1822)
- An axiomatic basis for computer programming (1969) (1778)
- A Theory of Communicating Sequential Processes (1984) (1401)
- Structured programming (1972) (1124)
- A Calculus of Durations (1991) (885)
- Proof of correctness of data representations (1972) (571)
- Algorithm 64: Quicksort (1961) (500)
- Laws of programming (1987) (430)
- The verifying compiler: A grand challenge for computing research (2003) (399)
- Procedures and parameters: An axiomatic approach (1971) (337)
- Algorithm 65: find (1961) (323)
- The emperor's old clothes (1981) (317)
- Hints on programming language design. (1973) (284)
- Data Refinement Refined (1986) (278)
- Unifying theories of programming (1998) (247)
- The Laws of Occam Programming (1988) (238)
- Proof of a program: FIND (1971) (232)
- Towards a theory of parallel programming (2002) (226)
- A Model for Communicating Sequential Processes (1980) (222)
- A contribution to the development of ALGOL (1966) (209)
- An axiomatic definition of the programming language PASCAL (1972) (197)
- Proof of correctness of data representation (1975) (176)
- Algorithm 63: partition (1961) (174)
- A Trace Semantics for Long-Running Transactions (2004) (171)
- The Weakest Prespecification (1987) (159)
- Specification-oriented semantics for Communicating Processes (1983) (142)
- Notes on Communicating Sequential Systems (1986) (140)
- Prespecification in Data Refinement (1987) (131)
- Programs are predicates (1984) (125)
- Concurrent Kleene Algebra and its Foundations (2011) (125)
- A semantics for imprecise exceptions (1999) (119)
- How Did Software Get So Reliable Without Proof? (1996) (116)
- Ambiguities and insecurities in pascal (1977) (114)
- Proving correctness of highly-concurrent linearisable objects (2006) (114)
- Stuck-Free Conformance (2004) (108)
- Semantics of Nondeterminism, Concurrency, and Communication (1979) (102)
- Concurrent Kleene Algebra (2009) (95)
- Mathematical Logic and Programming Languages (1985) (91)
- Essays in computing science (1989) (86)
- Proof of Correctness of Data Representations (Reprint) (2002) (84)
- An Overview of Some Formal Methods for Program Design (1987) (84)
- The verified software initiative: A manifesto (2009) (83)
- A Calculus of Total Correctness for Communicating Processes (1981) (83)
- Grand Challenges for Computing Research (2005) (81)
- VDM '90 VDM and Z — Formal Methods in Software Development (1990) (77)
- Parallel Programming: An Axiomatic Approach (1975) (75)
- Some Properties of Predicate Transformers (1978) (74)
- A Theory of Synchrony and Asynchrony (1990) (70)
- A Trace Model for Pointers and Objects (1999) (69)
- Record Handling (1965) (68)
- Verified Software: Theories, Tools, Experiments Vision of a Grand Challenge Project (2005) (67)
- Comparing Two Approaches to Compensable Flow Composition (2005) (66)
- Assertions: A Personal Perspective (2003) (66)
- Proof of a Recursive Program: Quicksort (1971) (62)
- An Axiomatic Basis for Computer Programming (Reprint) (2002) (56)
- The verified software repository: a step towards the verifying compiler (2006) (55)
- Separation Logic Semantics for Communicating Processes (2008) (55)
- Differential static analysis: opportunities, applications, and challenges (2010) (55)
- Recursive data structures (1975) (50)
- Program proving: Jumps and functions (1972) (50)
- Data reliability (1975) (49)
- A note on the for statement (1972) (48)
- Normal form approach to compiler design (1993) (46)
- Consistent and complementary formal theories of the semantics of programming languages (1974) (45)
- Sequential Calculus (1995) (43)
- A ProCos Project Description: Esprit BRA 3104 (1989) (42)
- An Algebraic Approach to Verifiable Compiling Specification and Prototyping of the Procos Level 0 Programming Language (1990) (41)
- Algebra of Logic Programming (1999) (39)
- An Operating System Structuring Concept (1974) (39)
- Intelligent Systems and Formal Methods in Software Engineering (2006) (39)
- Developments in concurrency and communication (1991) (39)
- Communicating Sequential Processes (Reprint). (1983) (37)
- Developments in concurrent Kleene algebra (2014) (37)
- Programming: Sorcery or Science? (1984) (37)
- From Algebra to Operational Semantics (1993) (36)
- ViewpointRetrospective: an axiomatic basis for computer programming (2009) (36)
- A Theory of Nondeterminism (1980) (35)
- Proof of a structured program: 'the sieve of Eratosthenes' (1972) (35)
- Hardware and Software: The Closing Gap (1994) (34)
- The Varieties of Programming Language (1989) (34)
- Partial Correctness of Communicating Sequential Processes (1981) (34)
- Notes on an Approach to Category Theory for Computer Scientists (1989) (33)
- The Origin of Concurrent Programming: From Semaphores to Remote Procedure Calls (2013) (32)
- A More Complete Model of Communicating Processes (1983) (31)
- On Locality and the Exchange Law for Concurrent Processes (2011) (31)
- A Couple of Novelties in the Propositional Calculus (1985) (30)
- Communicating Sequential Processes: The First 25 Years, Symposium on the Occasion of 25 Years of CSP, London, UK, July 7-8, 2004, Revised Invited Papers (2005) (30)
- In praise of algebra (2012) (29)
- Algebra and models (1993) (29)
- Graphical models of separation logic (2009) (27)
- A ProCoS II Project Final Report: ESPRIT Basic Research project 7071 (1996) (27)
- A Structured Paging System (1973) (26)
- JSD Expressed in CSP (1985) (25)
- Mechanized reasoning and hardware design (1992) (25)
- Programs as Executable Predicates (1984) (22)
- Towards the Verifying Compiler (2002) (22)
- Quicksort (1962) (22)
- A Hard Act to Follow (2000) (21)
- Pre-adjunctions in order enriched categories (1991) (20)
- The structure of an operating system (1975) (20)
- Unifying Theories for Parallel Programming (1997) (20)
- Foundations of Concurrent Kleene Algebra (2009) (20)
- Why ever CSP? (2006) (19)
- Process Algebra: A Unifying Approach (2004) (19)
- The Mathematics of Programming (1985) (18)
- Notes on communicating sequential processes (1986) (17)
- The transputer and occam: A personal story (1991) (17)
- The laws of programming unify process calculi (2012) (17)
- Chapter III: Hierarchical program structures (1972) (17)
- The quality of software (1972) (15)
- A model for synchronous switching circuits and its theory of correctness (1992) (15)
- The role of formal techniques: past, current and future or how did software get so reliable without proof? (extended abstract) (1996) (15)
- The logic of engineering design (1996) (14)
- CSP is a retract of CCS (2006) (14)
- Mathematical models for computing science (1996) (14)
- Algebraic specification and proof of a distributed recovery algorithm (1987) (13)
- Categorical Semantics for Programming Languages (1989) (13)
- Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle (1999) (13)
- The Ideal of Program Correctness: Third Computer Journal Lecture (2007) (13)
- Mathematics of Programming (1993) (13)
- Algebraic derivation of an operational semantics (2000) (13)
- Algebra Unifies Operational Calculi (2012) (12)
- Fast Fourier Transform Free From Tears (1977) (12)
- Unification of Theories: A Challenge for Computing Science (1995) (12)
- The Engineering of Software: A Startling Contradiction (1978) (11)
- Optimization of Store Size for Garbage Collection (1974) (11)
- Unifying Models of Data Flow (2011) (10)
- Unifying Semantics for Concurrent Programming (2013) (10)
- Unifying theories: a personal statement (1996) (10)
- Proceedings of the Third International Symposium of VDM Europe on VDM and Z - Formal Methods in Software Development (1990) (10)
- Chapter II: Notes on data structuring (1972) (10)
- Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages (1985) (10)
- Fine-Grain Concurrency (2010) (9)
- Partial correctness of C-MOS switching circuits: an exercise in applied logic (1988) (9)
- Preface to special issue on software verification (2009) (9)
- Algebraic specifications and proofs for communicating sequential processes (1987) (9)
- Assertions in modern software engineering practice (2002) (9)
- Report on the Elliott ALGOL Translator (1962) (9)
- The ideal of verified software (2006) (9)
- Scientific applications of multiprocessors (1988) (8)
- Software engineering: A keynote address (1978) (8)
- Refinement algebra proves correctness of compilation (1992) (8)
- Quasiparallel programming (1976) (8)
- Laws of Programming: The Algebraic Unification of Theories of Concurrency (2014) (7)
- Recovery Blocks (2011) (7)
- Linking Theories in Probabilistic Programming (1999) (7)
- A theory for the derivation of C-mos circuit designs (1990) (7)
- The Elliott ALGOL input/output system (1963) (7)
- Case expressions (1964) (7)
- Further Thoughts on Record Handling AB21.3.6 (1966) (7)
- A Theory for the Derivation of Combinational C-MOS Circuit Designs (1991) (6)
- Remarks on “program proving: Jumps and functions by M. Clint and C. A. R. Hoare” (1976) (6)
- A Discrete Geometric Model of Concurrent Program Execution (2016) (6)
- Set manipulation (1968) (6)
- Exploring an Interface Model for CKA (2015) (6)
- Science and Engineering: A Collusion of Cultures (2007) (6)
- On Algebra of Program Correctness and Incorrectness (2021) (6)
- Discrete Event Simulation Based on Communicating Sequential Processes (1982) (5)
- A model for communicating sequential process (2014) (5)
- Data structures in two-level store (1968) (5)
- Semantics of Nondeterminism, Concurrency and Communication (Extended Abstract) (1978) (5)
- The mathematics of programming: an inaugural lecture delivered before the Univ. of Oxford on Oct. 17, 1985 (1986) (5)
- Cleaning up the For statement (1965) (5)
- Let's Make Models (Abstract) (1990) (5)
- Verification of Fine-grain Concurrent Programs (2008) (5)
- The variety of process algebra (DRAFT) (1991) (5)
- Legacy code (2000) (5)
- Assertions in Programming: From Scientific Theory to Engineering Practice (2002) (5)
- A theory of conjunction and concurrency (1990) (5)
- Computer Science and Technology and their application (1976) (4)
- Generic Models of the Laws of Programming (2013) (4)
- Logic, Algebra, and Geometry at the Foundation of Computer Science (2019) (4)
- Millennial perspectives in computer science : proceedings of the 1999 Oxford-Microsoft Symposium in honour of Professor Sir Antony Hoare (2000) (4)
- Fixed Points of Increasing Functions (1990) (4)
- File Processing (1967) (3)
- Algebraic specification and proof of properties of a mail service (1987) (3)
- Computer programming as an engineering discipline (1973) (3)
- The 1980 ACM Turing Award Lecture (2021) (3)
- A Calculus of Space, Time, and Causality: Its Algebra, Geometry, Logic (2019) (3)
- A Note on Indirect Addressing (1965) (3)
- TRUST DISTRIBUTION DIAGRAMS: THEORY AND APPLICATIONS (2010) (3)
- Computing Tomorrow: Algebra and Models (1996) (3)
- Communicating Sequential Processes (2021) (2)
- Subscript optimisation and checking (1968) (2)
- Text processing (1968) (2)
- Unifying theories of healthiness condition (2000) (2)
- Matrix reduction—an efficient method (1975) (2)
- Testing and Proving, Hand-in-Hand (2010) (2)
- A theory of engineering design (1994) (2)
- The mathematics of programming : an inaugural lecture delivered before the University of Oxford on 17 October 1985 (1986) (2)
- Oral history interview with Charles Antony Richard Hoare (2002) (1)
- Operating systems techniques : proceedings of a Seminar held at Queen's University, Belfast, 1971 (1972) (1)
- Initialisation of variables (1968) (1)
- The Slide Rule and How to Use It: Containing Full, Easy, and Simple Instructions to Perform All Business Calculations with Unexampled Rapidity and Accuracy (2008) (1)
- Verified Software: Theories, Tools, Experiments (2008) (1)
- A General Conservation Law for Queueing Disciplines (1973) (1)
- Keynote: A Vision for the Science of Computing (2008) (1)
- Net Models for Concurrent Object Behaviour (2012) (1)
- The Michael Jackson Design Technique : A study of the theory with applications (2009) (1)
- Fine‐grain concurrency (2010) (1)
- Design and proof of a mail service 10 (1991) (1)
- Specification of a simplified Network Service in CSP (1983) (1)
- Review: Book review: ALGOL on the KDF9 (1964) (1)
- Structure of an Operating System (1982) (1)
- Concurrent and Distributed Systems (1999) (1)
- Formal methods in computer system design (1989) (1)
- Growing Use of Assertions (2001) (1)
- Additional notes on a model for communicating sequential processes (1980) (0)
- Laws of concurrent programming (2014) (0)
- Ii. Notes on Data Structuring * (0)
- Control flow and data flow: Concepts of distributed programming (1985) (0)
- Toward the engineering of software (Panel Discussion): Problems of the 1980's (1978) (0)
- There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies. (2011) (0)
- Höhere Nonunion-Rate bei Arthrodese mit K-Drähten (2015) (0)
- Abstract of c.a.d. literature: Computer programming as an engineering discipline (1974) (0)
- Breaking through to Christ's College Old Library (2018) (0)
- Computer languages: A practical guide to the chief programming languages: Peter C. Sanderson, M.A. Newnes-Butterworths £2.15s (1970) (0)
- Preface to Special Issue on Software Verification (2021) (0)
- Safety in computer programs (1987) (0)
- Algebra of concurrent design (2012) (0)
- Proof of a Program : C (2000) (0)
- Design by calculation and proof (1988) (0)
- Letter to the author (1991) (0)
- Variations on a Theme: An Open Letter to C. A. R. Hoare (1982) (0)
- Workshop on Analysis of Concurrent Systems Attempt at problem 3: The Firing Squad (1983) (0)
- A Theory of As ; ' llshronous Processes (1989) (0)
- Envoi (2021) (0)
- Workshop on Analysis of Concurrent Systems Attempt at Problem 10: The Matrix Switch (1983) (0)
- Addenda and corrigenda (1974) (0)
- Letter from Charles A. R. Hoare to Joshua Lederberg (1981) (0)
- Workshop on analysis of concurrent systems attempt at problem 8: Mixing synchronous and asynchronous input (1985) (0)
- Book reviews (1963) (0)
- CSP at WSS (1983) (0)
- Forty Years with Edsger (2022) (0)
- An Axiomatic Basis for Computer Programming (1969) (2021) (0)
- Esterel on Hardware: Discussion (1992) (0)
- Some reflections on software research (1990) (0)
- Envoi at Marktoberdorf 1996 (1997) (0)
- Mensuration made easy; or, The decimal system for the million, with its application to the daily employments of the artizan and mechanic (0)
- Iron and steel : a work for the forge, foundry, factory & office (0)
- Laws of programming with concurrency (Invited Talk) (2013) (0)
- Geometric Theory for Program Testing (2022) (0)
- Why software engineering at a communications meeting (1993) (0)
- Edsger W. Dijkstra: a Commemoration (2021) (0)
- Critique of MR93 (1968) (0)

This paper list is powered by the following services:

Tony Hoare is affiliated with the following schools:

This website uses cookies to enhance the user experience. Read the Privacy Policy for more.

Subscribe To Newsletter?Yes!