!!Partial List of publications

!2010
*147       Tony Hoare, Natarajan Shankar: Unraveling a Card Trick. Essays in Memory of Amir Pnueli 2010: 195-201 
*146       Shuvendu K. Lahiri, Kapil Vaswani, C. A. R. Hoare: Differential static analysis: opportunities, applications, and challenges. FoSER 2010: 201-204 
*145       Tony Hoare: Testing and Proving, Hand-in-Hand. TAIC PART 2010: 5-6 
*144       Tony Hoare: Fine-grain concurrency. Concurrency and Computation: Practice and Experience 22(8): 2010: 912-934
*143       Jifeng He, Tony Hoare: CSP is a retract of CCS. Theor. Comput. Sci. 411(11-13): 1311-1337 (2010)
 
!2009 
*142       C. A. R. Hoare, Bernhard Möller, Georg Struth, Ian Wehrman: Concurrent Kleene Algebra. CONCUR 2009: 399-414 
*141       C. A. R. Hoare, Bernhard Möller, Georg Struth, Ian Wehrman: Foundations of Concurrent Kleene Algebra. RelMiCS 2009: 166-186 
*140       C. A. R. Hoare, Jayadev Misra: Preface to special issue on software verification. ACM Comput. Surv. 41(4): (2009) 
*139       C. A. R. Hoare, Jayadev Misra, Gary T. Leavens, Natarajan Shankar: The verified software initiative: A manifesto. ACM Comput. Surv. 41(4): (2009) 
*138       C. A. R. Hoare: Viewpoint - Retrospective: an axiomatic basis for computer programming. Commun. ACM 52(10): 30-32 (2009) 
*137       Ian Wehrman, C. A. R. Hoare, Peter W. O'Hearn: Graphical models of separation logic. Inf. Process. Lett. 109(17): 1001-1004 (2009)
 
!2008 
*136       Tony Hoare: Keynote: A Vision for the Science of Computing. BCS Int. Acad. Conf. 2008: 1-29 
*135       Tony Hoare: Verified Software: Theories, Tools, Experiments. ICECCS 2008: 3 
*134       Tony Hoare: Fine-Grain Concurrency. LASER Summer School 2008: 1-20 
*133       Tony Hoare: Compensable Transactions. LASER Summer School 2008: 21-40 
*132       Tony Hoare: Verification of Fine-grain Concurrent Programs. Electr. Notes Theor. Comput. Sci. 209: 165-171 (2008) 
*131       Tony Hoare, Peter W. O'Hearn: Separation Logic Semantics for Communicating Processes. Electr. Notes Theor. Comput. Sci. 212: 3-25 (2008)
 
!2007 
*130       Tony Hoare: Fine-grain Concurrency. CPA 2007: 1-19 
*129       Tony Hoare: Science and Engineering: A Collusion of Cultures. DSN 2007: 2-9 
*128       Tony Hoare: The Ideal of Program Correctness: Third Computer Journal Lecture. Comput. J. 50(3): 254-260 (2007)
 
!2006 
*127       Tony Hoare: The ideal of verified software. ACL2 2006: 61-62 
*126       Tony Hoare: The Ideal of Verified Software. CAV 2006: 5-16 
*125       Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, Marc Shapiro: Proving correctness of highly-concurrent linearisable objects. PPOPP 2006: 129-136 
*124       Jifeng He, C. A. R. Hoare: CSP Is a Retract of CCS. UTP 2006: 38-62 
*123       Tony Hoare: Why ever CSP? Electr. Notes Theor. Comput. Sci. 162: 209-215 (2006) 
*122       Juan Bicarregui, C. A. R. Hoare, J. C. P. Woodcock: The verified software repository: a step towards the verifying compiler. Formal Asp. Comput. 18(2): 143-151 (2006) 
*121       Bernhard Beckert, Tony Hoare, Reiner Hähnle, Douglas R. Smith, Cordell Green, Silvio Ranise, Cesare Tinelli, Thomas Ball, Sriram K. Rajamani: Intelligent Systems and Formal Methods in Software Engineering. IEEE Intelligent Systems 21(6): 71-81 (2006)
 
!2005 
*120       Roberto Bruni, Michael J. Butler, Carla Ferreira, C. A. R. Hoare, Hernán C. Melgratti, Ugo Montanari: Comparing Two Approaches to Compensable Flow Composition. CONCUR 2005: 383-397 
*119       Jifeng He, C. A. R. Hoare: Linking Theories of Concurrency. ICTAC 2005: 303-317 
*118       C. A. R. Hoare: The Verifying Compiler, a Grand Challenge for Computing Research. VMCAI 2005: 78-78 
*117       Tony Hoare, Jayadev Misra: Verified Software: Theories, Tools, Experiments Vision of a Grand Challenge Project. VSTTE 2005: 1-18 
*116       Tony Hoare, Robin Milner: Grand Challenges for Computing Research. Comput. J. 48(1): 49-52 (2005) 
 2004 
*115       Michael J. Butler, C. A. R. Hoare, Carla Ferreira: A Trace Semantics for Long-Running Transactions. 25 Years Communicating Sequential Processes 2004: 133-150 
*114       C. A. R. Hoare: Process Algebra: A Unifying Approach. 25 Years Communicating Sequential Processes 2004: 36-60 
*113       Cédric Fournet, C. A. R. Hoare, Sriram K. Rajamani, Jakob Rehof: Stuck-Free Conformance. CAV 2004: 242-254 
*112       C. A. R. Hoare: Towards the Verifying Compiler. Essays in Memory of Ole-Johan Dahl 2004: 124-136 
 2003 
*111       C. A. R. Hoare: The Verifying Compiler: A Grand Challenge for Computing Research. CC 2003: 262-272 
*110       C. A. R. Hoare: The Verifying Compiler: A Grand Challenge for Computing Research. Ershov Memorial Conference 2003: 1-12 
*109       C. A. R. Hoare: The Verifying Compiler: A Grand Challenge for Computing Research. Euro-Par 2003: 1 
*108       C. A. R. Hoare: The Verifying Compiler: A Grand Challange for Computing Research. JMLC 2003: 25-35 
*107       C. A. R. Hoare: Assertions: A Personal Perspective. IEEE Annals of the History of Computing 25(2): 14-25 (2003) 
*106       C. A. R. Hoare: The verifying compiler: A grand challenge for computing research. J. ACM 50(1): 63-69 (2003) 

!2002 
*105       C. A. R. Hoare: Towards the Verifying Compiler. 10th Anniversary Colloquium of UNU/IIST 2002: 151-160 
*104       C. A. R. Hoare: Assertions in Modern Software Engineering Practice. COMPSAC 2002: 459-462 
*103       C. A. R. Hoare: Assertions in Programming: From Scientific Theory to Engineering Practice. Soft-Ware 2002: 350-351 
*102       Robert S. Boyer, W. H. J. Feijen, David Gries, C. A. R. Hoare, Jayadev Misra, J. Moore, H. Richards: In memoriam: Edsger W. Dijkstra 1930-2002. Commun. ACM 45(10): 21-22 (2002) 
 
!2001 
*101       C. A. R. Hoare: Growing Use of Assertions. TOOLS (38) 2001: 3 
*100       C. A. R. Hoare: Legacy. Inf. Process. Lett. 77(2-4): 123-129 (2001) 

!2000 
*99       Jifeng He, C. A. R. Hoare: Unifying theories of healthiness condition. APSEC 2000: 70- 
*98       C. A. R. Hoare: Legacy Code. ICFEM 2000: 75 
*97       C. A. R. Hoare: Assertions. IFM 2000: 1-2 
*96       C. A. R. Hoare, Jifeng He, Augusto Sampaio: Algebraic derivation of an operational semantics. Proof, Language, and Interaction 2000: 77-98 
*95       C. A. R. Hoare: A Hard Act to Follow. Higher-Order and Symbolic Computation 13(1/2): 71-72 (2000) 
 1999 
*94       C. A. R. Hoare: Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle. Correct System Design 1999: 3-28 
*93       C. A. R. Hoare, Jifeng He: A Trace Model for Pointers and Objects. ECOOP 1999: 1-17 
*92       Silvija Seres, J. Michael Spivey, C. A. R. Hoare: Algebra of Logic Programming. ICLP 1999: 184-199 
*91       Simon L. Peyton Jones, Alastair Reid, Fergus Henderson, C. A. R. Hoare, Simon Marlow: A Semantics for Imprecise Exceptions. PLDI 1999: 25-36 
*90       C. A. R. Hoare: Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle. World Congress on Formal Methods 1999: 1-27 
*89       Jifeng He, C. A. R. Hoare: Linking Theories in Probabilistic Programming. Inf. Sci. 119(3-4): 205-218 (1999) 
 1998 
*88       Jifeng He, C. A. R. Hoare: Unifying theories of programming. RelMiCS 1998: 97-99 
 1997 
*87       C. A. R. Hoare, Jifeng He: Unifying Theories for Parallel Programming. Euro-Par 1997: 15-30 

!1996 
*86       C. A. R. Hoare: How Did Software Get So Reliable Without Proof? FME 1996: 1-17 
*85       C. A. R. Hoare: The Role of Formal Techniques: Past, Current and Future or How Did Software Get so Reliable without Proof? (Extended Abstract). ICSE 1996: 233-234 
*84       C. A. R. Hoare: Mathematical models for computing science. NATO ASI DPD 1996: 115-164 
*83       C. A. R. Hoare: Unifying Theories : A Personal Statement. ACM Comput. Surv. 28(4es): 46 (1996) 
*82       C. A. R. Hoare: The logic of engineering design. Microprocessing and Microprogramming 41(8-9): 525-539 (1996) 
 
!1995 
*81       C. A. R. Hoare: Unification of Theories: A Challenge for Computing Science. COMPASS/ADT 1995: 49-57 
*80       Burghard von Karger, C. A. R. Hoare: Sequential Calculus. Inf. Process. Lett. 53(3): 123-130 (1995) 
 
!1994 
*79       Jifeng He, C. A. R. Hoare, Martin Fränzle, Markus Müller-Olm, Ernst-Rüdiger Olderog, Michael Schenke, Michael R. Hansen, Anders P. Ravn, Hans Rischel: Provably Correct Systems. FTRTFT 1994: 288-335 
*78       C. A. R. Hoare, Innes Page: Hardware and Software: The Closing Gap. Programming Languages and System Architectures 1994: 49-68 
*77       C. A. R. Hoare: Editorial. J. Log. Comput. 4(3): 215-216 (1994) 
 
!1993 
*76       C. A. R. Hoare: Algebra and Models. SIGSOFT FSE 1993: 1-8 
*75       C. A. R. Hoare, Jifeng He, Augusto Sampaio: Normal Form Approach to Compiler Design. Acta Inf. 30(8): 701-739 (1993) 
*74       Jifeng He, C. A. R. Hoare: From Algebra to Operational Semantics. Inf. Process. Lett. 45(2): 75-80 (1993) 
 
!1992 
*73       C. A. R. Hoare: Programs are Predicates. FGCS 1992: 211-218 
*72       Zhou Chaochen, C. A. R. Hoare: A Model for Synchronous Switching Circuits and its Theory of Correctness. Formal Methods in System Design 1(1): 7-28 (1992) 
 
!1991 
*71       C. A. R. Hoare: The transputer and occam: A personal story. Concurrency - Practice and Experience 3(4): 249-264 (1991) 
*70       Zhou Chaochen, C. A. R. Hoare, Anders P. Ravn: A Calculus of Durations. Inf. Process. Lett. 40(5): 269-276 (1991) 
*69       C. E. Martin, C. A. R. Hoare, Jifeng He: Pre-Adjunctions in Order Enriched Categories. Mathematical Structures in Computer Science 1(2): 141-158 (1991) 
*68       C. A. R. Hoare: A Theory for the Derivation of Combinational C-MOS Circuit Designs. Theor. Comput. Sci. 90(1): 235-251 (1991) 
 
!1990 
*67       Dines Bjørner, C. A. R. Hoare, Hans Langmaack: VDM '90, VDM and Z - Formal Methods in Software Development, Third International Symposium of VDM Europe, Kiel, FRG, April 17-21, 1990, Proceedings Springer 1990 
*66       C. A. R. Hoare: Let's Make Models (Abstract). CONCUR 1990: 32 
*65       C. A. R. Hoare: A Theory of Conjunction and Concurrency. PARBASE / Architectures 1990: 18-30 
*64       C. A. R. Hoare: Fixed Points of Increasing Functions. Inf. Process. Lett. 34(3): 111-112 (1990) 
 
!1989 
*63       Jifeng He, C. A. R. Hoare: Categorical Semantics for Programming Languages. Mathematical Foundations of Programming Semantics 1989: 402-417 
*62       C. A. R. Hoare: The Varieties of Programming Language. TAPSOFT, Vol.1 1989: 1-18 
 1988 
*61       C. A. R. Hoare, Michael J. C. Gordon: Partial Correctness of C-MOS Switching Circuits: An Exercise in Applied Logic LICS 1988: 28-36 
*60       A. W. Roscoe, C. A. R. Hoare: The Laws of Occam Programming. Theor. Comput. Sci. 60: 177-229 (1988) 
 
!1987 
*59       C. A. R. Hoare, Ian J. Hayes, Jifeng He, Carroll Morgan, A. W. Roscoe, Jeff W. Sanders, Ib Holm Sørensen, J. Michael Spivey, Bernard Sufrin: Laws of Programming. Commun. ACM 30(8): 672-686 (1987) 
*58       Jifeng He, C. A. R. Hoare: Algebraic Specification and Proof of a Distributed Recovery Algorithm. Distributed Computing 2(1): 1-12 (1987) 
*57       C. A. R. Hoare: An Overview of Some Formal Methods for Program Design. IEEE Computer 20(9): 85-91 (1987) 
*56       C. A. R. Hoare, Jifeng He: The Weakest Prespecification. Inf. Process. Lett. 24(2): 127-132 (1987) 
*55       C. A. R. Hoare, Jifeng He, Jeff W. Sanders: Prespecification in Data Refinement. Inf. Process. Lett. 25(2): 71-76 (1987) 
 
!1986 
*54       Jifeng He, C. A. R. Hoare, Jeff W. Sanders: Data Refinement Refined. ESOP 1986: 187-196 
*53       Ernst-Rüdiger Olderog, C. A. R. Hoare: Specification-Oriented Semantics for Communicating Processes. Acta Inf. 23(1): 9-66 (1986) 
 
!1985 
*52       C. A. R. Hoare: Communicating Sequential Processes Prentice-Hall 1985 
*51       K. T. Sridhar, C. A. R. Hoare: JSD Expressed in CSP. Data Types and Persistence (Appin), Informal Proceedings 1985: 49-82 
*50       C. A. R. Hoare: The Mathematics of Programming. FSTTCS 1985: 1-18 
 
!1984 
*49       C. A. R. Hoare, A. W. Roscoe: Programs as Executable Predicates. FGCS 1984: 220-228 
*48       C. A. R. Hoare: Programming: Sorcery or Science? IEEE Software 1(2): 5-16 (1984) 
*47       Stephen D. Brookes, C. A. R. Hoare, A. W. Roscoe: A Theory of Communicating Sequential Processes. J. ACM 31(3): 560-599 (1984) 
 
!1983 
*46       Ernst-Rüdiger Olderog, C. A. R. Hoare: Specification-Oriented Semantics for Communicating Processes. ICALP 1983: 561-572 
*45       C. A. R. Hoare: Workshop on Analysis of Concurrent Systems Attempt at problem 3: The Firing Squad. The Analysis of Concurrent Systems 1983: 115-116 
*44       C. A. R. Hoare: Workshop on Analysis of Concurrent Systems Attempt at Problem 10: The Matrix Switch. The Analysis of Concurrent Systems 1983: 132-133 
*43       Carroll Morgan, C. A. R. Hoare: Specification of a simplified Network Service in CSP. The Analysis of Concurrent Systems 1983: 345-353 
*42       C. A. R. Hoare: Communicating Sequential Processes (Reprint). Commun. ACM 26(1): 100-106 (1983) 
*41       C. A. R. Hoare: An Axiomatic Basis for Computer Programming (Reprint). Commun. ACM 26(1): 53-56 (1983) 
*40       Eric C. R. Hehner, C. A. R. Hoare: A More Complete Model of Communicating Processes. Theor. Comput. Sci. 26: 105-120 (1983) 
 
!1981 
*39       Z. C. Chen, C. A. R. Hoare: Partial Correctness of Communicating Sequential Processes. ICDCS 1981: 1-12 
*38       Jim Welsh, W. J. Sneeringer, C. A. R. Hoare: Ambiguities and Insecurities in Pascal. Pascal - The Language and its Implementation 1981: 5-19 
*37       C. A. R. Hoare: The Emperor's Old Clothes. Commun. ACM 24(2): 75-83 (1981) 
*36       C. A. R. Hoare: A Calculus of Total Correctness for Communicating Processes. Sci. Comput. Program. 1(1-2): 49-72 (1981) 
 
!1980 
*35       Richard Kennaway, C. A. R. Hoare: A Theory of Nondeterminism. ICALP 1980: 338-350 
*34       C. A. R. Hoare: A Model for Communicating Sequential Processes. On the Construction of Programs 1980: 229-254 
 
!1979 
*33       Nissim Francez, C. A. R. Hoare, Daniel J. Lehmann, Willem P. de Roever: Semantics of Nondeterminism, Concurrency, and Communication. J. Comput. Syst. Sci. 19(3): 290-308 (1979) 
 1978 
*32       C. A. R. Hoare: Software Engineering: A Keynote Address. ICSE 1978: 1-4 
*31       Nissim Francez, C. A. R. Hoare, Willem P. de Roever: Semantics of Nondeterminism, Concurrency and Communication (Extended Abstract). MFCS 1978: 191-200 
*30       C. A. R. Hoare: Communicating Sequential Processes. Commun. ACM 21(8): 666-677 (1978) 
*29       C. A. R. Hoare: Some Properties of Predicate Transformers. J. ACM 25(3): 461-480 (1978) 
 
!1977 
*28       A. M. Macnaghten, C. A. R. Hoare: Fast Fourier Transform Free From Tears. Comput. J. 20(1): 78-83 (1977) 
*27       Jim Welsh, W. J. Sneeringer, C. A. R. Hoare: Ambiguities and Insecurities in Pascal. Softw., Pract. Exper. 7(6): 685-696 (1977) 
 1976 
*26       C. A. R. Hoare: Parallel Programming: An Axiomatic Approach. Comput. Lang. 1(2): 151-160 (1976) 
*25       W. H. Kaubisch, Ronald H. Perrott, C. A. R. Hoare: Quasiparallel Programming. Softw., Pract. Exper. 6(3): 341-356 (1976) 
 
!1975 
*24       C. A. R. Hoare: Parallel programming: an axiomatic approach. Language Hierarchies and Interfaces 1975: 11-42 
*23       C. A. R. Hoare: Proof of correctness of data representation. Language Hierarchies and Interfaces 1975: 183-193 
*22       C. A. R. Hoare: The structure of an operating system. Language Hierarchies and Interfaces 1975: 242-265 
*21       H. C. Johnston, C. A. R. Hoare: Matrix Reduction - An Efficient Method. Commun. ACM 18(3): 141-150 (1975) 
 
!1974 
*20       C. A. R. Hoare, Peter E. Lauer: Consistent and Complementary Formal Theories of the Semantics of Programming Languages. Acta Inf. 3: 135-153 (1974) 
*19       C. A. R. Hoare: Monitors: An Operating System Structuring Concept. Commun. ACM 17(10): 549-557 (1974) 
*18       C. A. R. Hoare: Optimization of Store Size for Garbage Collection. Inf. Process. Lett. 2(6): 165-166 (1974) 
 
!1973 
*17       C. A. R. Hoare, Niklaus Wirth: An Axiomatic Definition of the Programming Language PASCAL Acta Inf. 2: 335-355 (1973) 
*16       C. A. R. Hoare: A Structured Paging System. Comput. J. 16(3): 209-215 (1973) 
*15       C. A. R. Hoare: A General Conservation Law for Queueing Disciplines. Inf. Process. Lett. 2(3): 82-85 (1973) 
 
!1972 
*14       C. A. R. Hoare: An axiomatic definition of the programming language PASCAL. International Sympoisum on Theoretical Programming 1972: 1-16 
*13       C. A. R. Hoare, Donald C. S. Allison: Incomputability. ACM Comput. Surv. 4(3): 169-178 (1972) 
*12       Maurice Clint, C. A. R. Hoare: Program Proving: Jumps and Functions. Acta Inf. 1: 214-224 (1972) 
*11       C. A. R. Hoare: Proof of Correctness of Data Representations. Acta Inf. 1: 271-281 (1972) 
*10       C. A. R. Hoare: Proof of a structured program: 'the sieve of Eratosthenes'. Comput. J. 15(4): 321-325 (1972) 
 
!1971 
*9       C. A. R. Hoare: Proof of a Program: FIND. Commun. ACM 14(1): 39-45 (1971) 
*8       M. Foley, C. A. R. Hoare: Proof of a Recursive Program: Quicksort. Comput. J. 14(4): 391-395 (1971) 
 
!1969 
*7       C. A. R. Hoare: An Axiomatic Basis for Computer Programming. Commun. ACM 12(10): 576-580 (1969) 
 
!1968 
*6       C. A. R. Hoare: Data structures in two-level store. IFIP Congress (1) 1968: 322-329 
 
!1966 
*5       Niklaus Wirth, C. A. R. Hoare: A contribution to the development of ALGOL. Commun. ACM 9(6): 413-432 (1966) 
 
!1962 
*4       C. A. R. Hoare: Quicksort. Comput. J. 5(1): 10-15 (1962) 
 
!1961 
*3       C. A. R. Hoare: Algorithm 63: partition. Commun. ACM 4(7): 321 (1961) 
*2       C. A. R. Hoare: Algorithm 64: Quicksort. Commun. ACM 4(7): 321 (1961) 
*1       C. A. R. Hoare: Algorithm 65: find. Commun. ACM 4(7): 321-322 (1961)