Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
chapter

List of Tony Hoare’s Publications

Published: 02 October 2021 Publication History
First page of PDF

References

[1]
C. A. R. Hoare. 1961. Algorithm 63, Partition; Algorithm 64, Quicksort; Algorithm 65, Find. Commun. ACM 4, 7, 321–322.
[2]
C. A. R. Hoare. 1961. A Method of Synthesizing Sentences in Machine Translation on the Basis of Syntagmatic Analysis (Об одном способе осуществления синтеза предложения при МП на основе синтагматического анализа). Foreign Develop. Mach. Translat. Info. Proc. No. 95 (Translated from Mashinnii Perevod i Prikladnaya Linguistika No. 6, 80–88).
[3]
Yu. Ya. Basilevskii (Ed.). 1961. Theory of Mathematical Machines. Translated from Russian by C. A. R. Hoare. Pergamon Press.
[4]
C. A. R. Hoare. 1962. Quicksort. BCS, Comput. J. 5, 1, 10–16.
[5]
C. A. R. Hoare. 1962. Report on the Elliott ALGOL translator. BCS, Comput. J. 5, 2, 127–129.
[6]
C. A. R. Hoare. 1963. The Elliott ALGOL input/output system. BCS, Comput. J. 5, 4, 345–348.
[7]
C. A. R. Hoare. 1964. Case expressions. Algol Bull. 18, 20–22.
[8]
C. A. R. Hoare. 1964. The Elliott ALGOL programming system. In P. Wegner (Ed.), Introduction to System Programming. Academic Press, 156–166. URL: https://archive.org/details/introductiontosy00wegn/page/2.
[9]
C. A. R. Hoare. 1965. A note on indirect addressing. Algol Bull. 21, 63–65. URL: https://archive.computerhistory.org/resources/text/algol/algol_bulletin/A21/P38.HTM.
[10]
C. A. R. Hoare. 1965. Record handling. Algol Bull. 21, 39–69.
[11]
C. A. R. Hoare. 1966. PL/I. In Proceedings of the ACTP Summer School on Software. URL: http://www.cs.ox.ac.uk/files/6072/H66%20-%20PL1.pdf.
[12]
C. A. R. Hoare. 1966. Single pass compilation. PL/I. In Proceedings of the ACTP Summer School on Software. URL: https://www.cs.ox.ac.uk/files/6073/H66%20-%20Single.pdf.
[13]
C. A. R. Hoare, et al. 1966. Letter to WG 2.1 members.
[14]
N. Wirth and C. A. R. Hoare. 1966. A contribution to the development of ALGOL. Commun. ACM 9, 6, 413–432.
[15]
C. A. R. Hoare. 1968. Critique of ALGOL 68. Algol Bull. 29, 27–32. URL: https://archive.computerhistory.org/resources/text/algol/algol_bulletin/A29/P34.HTM.
[16]
C. A. R. Hoare. 1968. Letter to A. van Wijngaarden.
[17]
C. A. R. Hoare. 1968. Limitations on languages. Computer Weekly.
[18]
C. A. R. Hoare. 1968. Recommendation on Draft Report on ALGOL 68.
[19]
C. A. R. Hoare. 1968. Record handling. In F. Genuys (Ed.), Programming Languages. Academic Press, 291–347.
[20]
C. A. R. Hoare. 1968. Set manipulation. Algol Bull. 27, 29–37.
[21]
E. W. Dijkstra, et al. 1969. Minority report. Letter. URL: http://ershov.iis.nsk.su/en/node/805785.
[22]
C. A. R. Hoare. 1969. An axiomatic basis for computer programming. Commun. ACM 12, 10, 576–580.
[23]
C. A. R. Hoare. 1969. Data structures in two-level store. In Proceedings of the IFIP Congress, Edinburgh, 1968. North-Holland, 322–329. https://dblp.org/rec/conf/ifip/Hoare68.
[24]
M. Foley and C. A. R. Hoare. 1971. Proof of a recursive program: Quicksort. Comput. J. 14, 4, 391–395.
[25]
C. A. R. Hoare. 1971. Computer Science. New Lecture Series, 62.
[26]
C. A. R. Hoare. 1971. Procedures and parameters: An axiomatic approach. In E. Engeler (Ed.), Symposium on Semantics of Algorithmic Languages. Lecture Notes in Mathematics, Vol. 188. Springer, 102–116.
[27]
C. A. R. Hoare. 1971. Proof of a program: FIND. Commun. ACM 14, 1, 39–45. URL:.
[28]
M. Clint and C. A. R. Hoare. 1972. Program proving: Jumps and functions. Acta Inform. 1, 3, 214–224.
[29]
O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare (Eds.). 1972. Structured Programming. Academic Press.
[30]
O.-J. Dahl and C. A. R. Hoare. 1972. Hierarchical program structures. In O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare (Eds.), Structured Programming. Academic Press, 175–220.
[31]
C. A. R. Hoare. 1972. A note on the FOR statement. BIT 12, 3, 334–341.
[32]
C. A. R. Hoare. 1972. Notes on data structuring. In O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare (Eds.), Structured Programming. Academic Press, 83–174.
[33]
C. A. R. Hoare. 1972. Operating systems: Their purpose, objectives, functions and scope. In C. A. R. Hoare and R. H. Perrott (Eds.), Operating System Techniques. Academic Press, 11–28.
[34]
C. A. R. Hoare. 1972. Proof of a structured program: ‘The sieve of Eratosthenes’. Comput. J. 15, 321–325.
[35]
C. A. R. Hoare. 1972. Proof of correctness of data representations. Acta Inform. 1, 4, 271–281. ISSN: 0001-5903.
[36]
C. A. R. Hoare. 1972. Prospects for a better programming language. Infotech State of the Art Report: High Level Languages 7, 327–343.
[37]
C. A. R. Hoare. 1972. The quality of software (a guest editorial). Softw. Pract. Exp. 2, 2, 103–105.
[38]
C. A. R. Hoare. 1972. Towards a theory of parallel programming. In C. A. R. Hoare and R. Perrot (Ed.), Operating System Techniques. Academic Press, 61–71.
[39]
C. A. R. Hoare. 1972. Towards a theory of parallel programming. In The Origin of Concurrent Programming. Springer, 231–244.
[40]
C. A. R. Hoare and D. C. S. Allison. 1972. Incomputability. ACM Comput. Surv. 4, 3, 169–178.
[41]
C. A. R. Hoare and R. M. McKeag. 1972. A survey of store management techniques: Part 2. In Operating System Techniques. Academic Press, 132–151.
[42]
C. A. R. Hoare and R. H. Perrott (Eds.). 1972. Operating Systems Techniques. Academic Press.
[43]
C. A. R. Hoare. 1973. A general conservation law for queueing disciplines. Inform. Process. Lett. 2, 3, 82–85.
[44]
C. A. R. Hoare. 1973. A structured paging system. BCS, Comput. J. 16, 3, 209–215.
[45]
C. A. R. Hoare. 1973. Computer programming as an engineering discipline. Electron. Power 19, 14, 316–320.
[46]
C. A. R. Hoare. 1973. High level programming languages, the way behind. In D. Simpson (Ed.), High Level Programming LanguagesThe Way Ahead. NCC Publications, Manchester.
[47]
C. A. R. Hoare. 1973. Hints on Programming Language Design. Tech. rep. Stanford University, Stanford, CA, USA.
[48]
C. A. R. Hoare. 1973. Hints on Programming Language Design. Tech. rep. DTIC Document.
[49]
C. A. R. Hoare. 1973. Hints on Programming Language Design. Invited Address at SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Boston.
[50]
C. A. R. Hoare. 1973. Tomorrow’s men: The role of the university. Computer Weekly, Educational Supplement 7.
[51]
C. A. R. Hoare and N. Wirth. 1973. An axiomatic definition of the programming language Pascal. Acta Inform. 2, 335–355.
[52]
C. A. R. Hoare. 1974. Hints on programming language design. In C. J. Bunyan (Ed.), State of the Art Report 20: Computer Systems Reliability. Pergamon/Infotech, 505–534.
[53]
C. A. R. Hoare. 1974. Monitors: An operating system structuring concept. Commun. ACM 17, 549–557. URL: https://www.classes.cs.uchicago.edu/archive/2020/winter/33100-1/papers/hoare-monitors.pdf.
[54]
C. A. R. Hoare. 1974. Optimization of store size for garbage collection. Inform. Process. Lett. 2, 6, 165–166.
[55]
C. A. R. Hoare. 1974. Software design: A parable. Softw. World 5, 9–10, 53–56. URL: https://people.dsv.su.se/~jpalme/s1/hoare.pdf.
[56]
C. A. R. Hoare and P. E. Lauer. 1974. Consistent and complementary formal theories of the semantics of programming languages. Acta Inform. 3, 2, 135–153. ISSN: 0001-5903.
[57]
P. H. Enslow, et al. 1975. Implementation Languages for Real-Time Systems: I. StandardisationIts Implementation and Acceptance. Report No. ERO-2-75-Vol-1, European Res. Office, London, UK. URL: https://apps.dtic.mil/sti/citations/ADA008977.
[58]
P. H. Enslow, et al. 1975. Implementation Languages for Real-Time Systems: II. Language DesignGeneral Comments. Report No. ERO-2-75-Vol-2, European Res. Office, London, UK. URL: https://apps.dtic.mil/sti/citations/ADA008978.
[59]
P. H. Enslow, et al. 1975. Implementation Languages for Real-Time Systems: III. Command and Control LanguagesSpecific Comments. Report No. ERO-2-75-Vol-3, European Res. Office, London, UK. URL: https://apps.dtic.mil/sti/citations/ADA009081.
[60]
C. A. R. Hoare. 1975. Data reliability. In International Conference on Reliable Software. Vol. 10. ACM SIGPLAN Notices, 528–533.
[61]
C. A. R. Hoare. 1975. Hints on the design of a programming language for real-time command and control. In Implementation Languages for Real-Time Systems: II. Language Design—General Comments. Vol. ERO-2-75.
[62]
C. A. R. Hoare. 1975. Parallel programming: An axiomatic approach. Comput. Lang. 1, 2, 151–160.
[63]
C. A. R. Hoare. 1975. Program correctness proofs. In B. Shaw (Ed.), Formal Aspects of Computing Science, Newcastle upon Tyne, 3–6 September 1974, 7–45.
[64]
C. A. R. Hoare. 1975. Recursive data structures. Int. J. Comput. Inform. Sci. 4, 2, 105–132.
[65]
C. A. R. Hoare. 1975. Software engineering. BCS, Comput. Bull. 2, 6, 6–7.
[66]
C. A. R. Hoare and H. C. Johnston. 1975. Matrix reduction—An efficient method (school timetables). Commun. ACM 18, 3, 141–150.
[67]
E. A. Ashcroft, M. Clint, and C. A. R. Hoare. 1976. Remarks on “Program proving: Jumps and functions”. Acta Inform. 6, 3, 317–318.
[68]
F. L. Bauer, et al. (Eds.). 1976. Language Hierarchies and Interfaces. Lecture Notes in Computer Science, Vol. 46. Springer. URL: https://link.springer.com/book/10.1007/3-540-07994-7.
[69]
C. A. R. Hoare. 1976. Parallel programming: An axiomatic approach. In F. L. Bauer et al. (Ed.), Language Hierarchies and Interfaces. Lecture Notes in Computer Science, Vol. 46. Springer, 11–42.
[70]
C. A. R. Hoare. 1976. Proof of correctness of data representation. In F. L. Bauer et al. (Ed.), Language Hierarchies and Interfaces. Lecture Notes in Computer Science, Vol. 46. Springer, 183–193.
[71]
C. A. R. Hoare. 1976. Structured programming in introductory programming courses. Infotech, Struct. Program. 255–263.
[72]
C. A. R. Hoare. 1976. The high cost of programming languages. Softw. Syst. Eng. 413–429.
[73]
C. A. R. Hoare. 1976. The structure of an operating system. In F. L. Bauer et al. (Ed.), Language Hierarchies and Interfaces. Lecture Notes in Computer Science, Vol. 46. Springer, 242–265.
[74]
W. H. Kaubisch, R. H. Perrott, and C. A. R. Hoare. 1976. Quasiparallel programming. Softw. Pract. Exp. 6, 3, 341–356.
[75]
C. A. R. Hoare. 1977. Introduction. In R. H. Perrott (Ed.), Software EngineeringProceedings of a Symposium Held at the Queen’s University of Belfast 1976 (A.P.I.C. Studies in Data Processing No. 14). Academic Press, 7–14.
[76]
A. M. MacNaughten and C. A. R. Hoare. 1977. Fast Fourier transform free from tears. BCS, Comput. J. 20, 1, 78–83.
[77]
J. Welsh, W. J. Sneeringer, and C. A. R. Hoare. 1977. Ambiguities and insecurities in Pascal. Software Pract. Exper. 7, 6, 685–696.
[78]
C. A. R. Hoare. 1978. The engineering of software: A startling contradiction. In D. Gries (Ed.), Programming Methodology. Texts and Monographs in Computer Science. Springer.
[79]
C. A. R. Hoare. 1978. Communicating sequential processes. Commun. ACM 21, 8, 666–677.
[80]
C. A. R. Hoare. 1978. Software engineering: A keynote address. In 3rd International Conference on Software Engineering, Atlanta, GA, USA, 10–12 May. ACM, 1–4.
[81]
C. A. R. Hoare. 1978. Some properties of predicate transformers. J. ACM 25, 3, 461–480.
[82]
N. Francez, et al. 1979. Semantics of nondeterminism, concurrency and communication. J. Comput. Syst. Sci. 19, 3, 290–308.
[83]
C. A. R. Hoare. A Model for Communicating Sequential Process. Wollongong University, 1980. URL: https://ro.uow.edu.au/compsciwp/14.
[84]
C. A. R. Hoare. 1980. A model for communicating sequential processes. In R. M. McKeag and A. M. MacNaughten (Eds.), On the Construction of Programs. Cambridge University Press, 229–254.
[85]
C. A. R. Hoare. 1980. Synchronisation of parallel processes. In F. K. Hanna (Ed.), Advanced Techniques for Microprocessor Systems. Peter Peregrinus, 108–111.
[86]
C. A. R. Hoare and J. R. Kennaway. 1980. A theory of non-determinism. In Proceedings ICALP ’80. Lecture Notes in Computer Science, Vol. 85. Springer, 338–350.
[87]
C. A. R. Hoare. 1981. A calculus of total correctness for communicating processes. Sci. Comput. Program. 1, 1–2, 49–72.
[88]
C. A. R. Hoare. A Model for Communicating Sequential Processes. Tech. rep. PRG-22. Programming Research Group, Oxford University, 1981. URL: http://www.cs.ox.ac.uk/publications/publication3766-abstract.html.
[89]
C. A. R. Hoare. 1981. Is there a mathematical basis for computer programming? NAG Newsl. 2, 6–15.
[90]
C. A. R. Hoare. 1981. Professionalism. BCS Comput. Bull. 2, 29, 2–4. Invited Talk given at BCS 81.
[91]
C. A. R. Hoare. 1981. The emperor’s old clothes: The ACM Turing Award lecture. Commun. ACM 24, 2, 75–83. URL: https://www.cs.fsu.edu/~engelen/courses/COP4610/hoare.pdf.
[92]
C. A. R. Hoare and Chaochen Zhou. 1981. Partial Correctness of Communicating Processes and Protocols. Tech. rep. PRG 20. Oxford University Computing Laboratory, Programming Research Group. URL: https://www.cs.ox.ac.uk/files/3241/PRG20.pdf.
[93]
Chaochen Zhou and C. A. R. Hoare. 1981. Partial correctness of communicating sequential processes. In Proceedings of 2nd International Conference on Distributed Computing Systems. IEEE Computer Society Press, 1–12.
[94]
C. A. R. Hoare. 1982. Specifications, Programs and Implementations. Tech. rep. PRG-29. Programming Research Group, Oxford University. URL: http://www.cs.ox.ac.uk/files/3295/PRG29.pdf.
[95]
C. A. R. Hoare and R. M. McKeag. 1982. Structure of an operating system. In M. Broy and G. Schmidt (Eds.), Theoretical Foundations of Programming MethodologyLecture Notes of an International Summer School, Germany, 1981. Reidel, 643–658.
[96]
C. A. R. Hoare and Chaochen Zhou. 1982. The Consistency of the Calculus of Total Correctness for Communicating Processes. PRG Monograph 26. Oxford University Computing Laboratory, Programming Research Group. URL: http://www.cs.ox.ac.uk/files/3292/PRG26.pdf.
[97]
W. H. Kaubisch and C. A. R. Hoare. 1982. Discrete event simulation based on communicating sequential processes. In M. Broy and G. Schmidt (Eds.), Theoretical Foundations of Programming MethodologyLecture Notes of an International Summer School, Germany, 1981. Reidel, 625–642.
[98]
E. C. R. Hehner and C. A. R. Hoare. 1983. A more complete model of communicating processes. Theor. Comput. Sci. 26, 1–2, 105–120.
[99]
C. A. R. Hoare. 1983. 1983 Technology forecast. Electron. Des.
[100]
C. A. R. Hoare. 1983. Notes on Communicating Sequential Processes. Monograph 33. Oxford University Computing Laboratory, Programming Research Group. URL: http://www.cs.ox.ac.uk/files/3301/PRG33.pdf.
[101]
C. A. R. Hoare. 1983. Programming is an engineering profession. In P. J. L. Wallis (Ed.), State of the Art Report 11, No. 3: Software Engineering. Pergamon/Infotech, 77–84. URL: http://www.cs.ox.ac.uk/files/3293/PRG27.pdf. Also Oxford PRG Monograph No. 27; and IEEE Software 1(2).
[102]
C. A. R. Hoare and C. Morgan. 1983. Specification of a simplified network service in CSP. In B. T. Denvir, W. T. Harwood, and M. I. Jackson (Eds.), The Analysis of Concurrent Systems. Lecture Notes in Computer Science, Vol. 207. Springer, 345–353.
[103]
C. A. R. Hoare and E. R. Olderog. 1983. Specification-oriented semantics for communicating processes. In J. Diaz (Ed.), Automata Languages and ProgrammingProceedings of the 10th Colloquium. Lecture Notes in Computer Science, Vol. 154. Springer, 561–572.
[104]
S. Brookes, C. A. R. Hoare, and A. W. Roscoe. 1984. A theory of communicating sequential processes. J. ACM 31, 3, 560–599.
[105]
C. A. R. Hoare. 1984. Programming: Sorcery or science. IEEE Software 1, 2, 5–16.
[106]
C. A. R. Hoare and A. W. Roscoe. 1984. Programs as executable predicates. In Proceedings of the International Conference on Fifth Generation Computer Systems, November 6–9 1984, Tokyo, Japan. ICOT, 220–228.
[107]
C. A. R. Hoare, et al. 1984. Programs are predicates. Philos. Trans. Royal Soc. A. 312, 1522, 475–489.
[108]
C. A. R. Hoare. 1985. A couple of novelties in the propositional calculus. Z. Math. Logik. 31, 2, 173–178.
[109]
C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice-Hall.
[110]
C. A. R. Hoare. 1985. Programs are predicates. In C. A. R. Hoare and J. C. Shepherdson (Eds.), Mathematical Logic and Programming Languages. Prentice-Hall, 141–154.
[111]
C. A. R. Hoare. 1985. The mathematics of programming. InFoundations of Software Technology and Theoretical Computer Science. FSTTCS 1985. Lecture Notes in Computer Science, Vol. 206. Springer, 1–18.
[112]
C. A. R. Hoare. 1985. The Mathematics of Programming: An Inaugural Lecture Delivered Before the University of Oxford.
[113]
C. A. R. Hoare and Jifeng He. 1985. Weakest Prespecification. URL: http://www.cs.ox.ac.uk/files/3320/PRG44.pdf.
[114]
C. A. R. Hoare and J. C. Shepherdson (Eds.). 1985. Mathematical Logic and Programming Languages. Prentice-Hall. ISBN: 0-13-561465-1.
[115]
Jifeng He, C. A. R. Hoare, and J. W. Sanders. 1986. Data refinement refined resume. In ESOP 86. Springer, 187–196.
[116]
C. A. R. Hoare. 1986. Maths add safety to computer programs. New Sci. 1526, 53–59.
[117]
C. A. R. Hoare. 1986. Notes on communicating sequential systems. In M. Broy (Ed.), Control Flow and Data Flow: Concepts of Distributed Programming. Proceedings of NATO Advanced Study Institute International Summer School, Marktoberdorf, 31 July–12 August 1984, Vol. 14. Springer Study Edition. Springer, 123–204.
[118]
C. A. R. Hoare and Jifeng He. 1986. The weakest prespecification: I. Fundam. Inform. 9, 1, 51–84.
[119]
C. A. R. Hoare and Jifeng He. 1986. The weakest prespecification: II. Fundam. Inform. 9, 217–252.
[120]
E. R. Olderog and C. A. R. Hoare. 1986. Specification-oriented semantics for communicating processes. Acta Inform. 23, 1, 9–66.
[121]
A. I. Enikeev, C. A. R. Hoare, and A. Teruel. 1987. Model of a theory of communicating sequential processes for menu-dialog systems (Модель теории взаимодей ствующих последовательных процессов для меню-диалоговых систем). Mathematica 3. In Russian.
[122]
C. A. R. Hoare. 1987. Algebraic specifications and proofs for communicating sequential processes. In M. Broy (Ed.), Logic of Programming and Calculi of Discrete Design. Springer, 277–301.
[123]
C. A. R. Hoare. 1987. An overview of some formal methods for program design. IEEE Comput. J. 20, 9, 85–91.
[124]
C. A. R. Hoare and Jifeng He. 1987. Algebraic specification and proof of properties of a mail service. In L. Meertens (Ed.), IFIP WG 2.1 Working Conference on Program Specification and Transformations, Bad-Tölz, W. Germany 15–17 April. North-Holland Publishers.
[125]
C. A. R. Hoare and Jifeng He. 1987. Design and proof of a mail service. In O. Friesen and F. Golshani (Eds.), 6th Annual International Phoenix Conference on Computers and CommunicationsConference Proceedings Scottsdale, AZ, USA 25–27 February 1987. IEEE, 272–275.
[126]
C. A. R. Hoare and Jifeng He. 1987. The weakest prespecification. Inf. Process. Lett. 24, 2, 127–132.
[127]
C. A. R. Hoare, Jifeng He, and J. W. Sanders. 1987. Prespecification in data refinement. Inf. Process. Lett. 25, 2, 71–76.
[128]
C. A. R. Hoare, et al. 1987. Laws of programming. Commun. ACM 30, 8. See Corrigenda in Commun. ACM 30, 9, 770, 672–687.
[129]
C. A. R. Hoare and M. J. C. Gordon. 1988. Partial correctness of C-MOS switching circuits: An exercise in applied logic. In Third Annual Symposium on Logic in Computer Science. IEEE, 28–36.
[130]
A. W. Roscoe and C. A. R. Hoare. 1988. The laws of occam programming. Theor. Comput. Sci. 60, 2, 177–229.
[131]
C. A. R. Hoare. 1989. Notes on an approach to category theory for computer scientists. In M. Broy (Ed.), Constructive Methods in Computing Science. Springer, 245–305.
[132]
C. A. R. Hoare. 1989. The varieties of programming language. In Colloquium on Trees in Algebra and Programming. Springer, 1–18. URL: https://link.springer.com/content/pdf/10.1007/3-540-50939-9_121.pdf.
[133]
C. A. R. Hoare and C. B. Jones. 1989. Essays in Computing Science. Prentice-Hall, Inc. ISBN: 0-13-284027-8.
[134]
Jifeng He and C. A. R. Hoare. 1990. Data Refinement in a Categorical Setting. Tech. rep. PRG90. OUCL.
[135]
C. A. R. Hoare. 1990. A theory for the derivation of C-MOS circuit designs. In W. H. J. Feijen, et al. (Eds.), Beauty Is Our Business: A Birthday Salute to Edsger W. Dijkstra. Verlag: Springer, 194–205. Reprinted in Theor. Comput. Sci. as [140].
[136]
C. A. R. Hoare. 1990. A theory of conjunction and concurrency. In Proceedings. PARBASE-90: International Conference on Databases, Parallel Architectures, and Their Applications. IEEE, 304–309.
[137]
C. A. R. Hoare. 1990. Fixed points of increasing functions. Inf. Process. Lett. 34, 3, 111–112.
[138]
C. A. R. Hoare. 1990. Let’s make models. In J. C. M. Baeten and J. W. Klop (Eds.), CONCUR’90. Lecture Notes in Computer Science, Vol. 458. Springer, 32–32.
[139]
C. A. R. Hoare. 1991. A theory for the derivation of combinational C-MOS circuit designs. In Images of Programming: Dedicated to the Memory of A. P. Ershov: Papers Collected Under the Auspices of IFIP TC2. North-Holland. Cf. [140].
[140]
C. A. R. Hoare. 1991. A theory for the derivation of combinational C-MOS circuit designs. Theor. Comput. Sci. 90, 1, 235–251.
[141]
C. A. R. Hoare. 1991. The transputer and occam: A personal story. Concurr. Pract. Exp. 3, 4, 249–264.
[142]
C. E. Martin, C. A. R. Hoare, and Jifeng He. 1991. Pre-adjunctions in order enriched categories. Math. Struct. Comput. Sci. 1, 2, 141–158.
[143]
Chaochen Zhou, C. A. R. Hoare, and A. P. Ravn. 1991. A calculus of durations. Inf. Process. Lett. 40, 269–271.
[144]
C. A. R. Hoare and Jifeng He. 1992. Refinement algebra proves correctness of compilation. In M. Broy (Ed.), Programming and Mathematical Method. NATO ASI Series F: Computer and Systems Sciences, Vol. 88. Springer, 245–270.
[145]
C. A. R. Hoare, et al. 1992. Laws of programming. In M. Broy (Ed.), Programming and Mathematical Method. NATO ASI Series F: Computer and Systems Sciences, Vol. 88. Springer, 95–122. ISBN: 3540-55558-7.
[146]
Chaochen Zhou and C. A. R. Hoare. 1992. A model for synchronous switching circuits and its theory of correctness. Form. Methods Syst. Des. 1, 1, 7–28.
[147]
Jifeng He and C. A. R. Hoare. 1993. From algebra to operational semantics. Inf. Process. Lett. 45, 2, 75–80.
[148]
C. A. R. Hoare. 1993. Algebra and models. In F. L. Bauer, et al. (Eds.), Program Design Calculi. NATO ASI Series (Series F: Computer and Systems Sciences), Vol. 118. Springer, 161–196.
[149]
C. A. R. Hoare. 1993. Parallel processing: Theoretical foundations. Oxford Innovation News 8. URL: http://www.cs.ox.ac.uk/files/6115/H93%20-%20Parallel.pdf.
[150]
C. A. R. Hoare, Jifeng He, and A. Sampaio. 1993. Normal form approach to compiler design. Acta Inform. 30, 8, 701–739.
[151]
Jifeng He, et al. 1994. Provably correct systems. In Formal Techniques in Real-Time and Fault-Tolerant Systems. Springer, 288–335.
[152]
C. A. R. Hoare. 1994. Interviewed by Tony Dale. Oxford, UK. URL: https://www.infoq.com/interviews/tony-hoare-qcon-interview/.
[153]
C. A. R. Hoare. 1994. Unified Theories of Programming. Draft.
[154]
C. A. R. Hoare and I. Page. 1994. Hardware and software: The closing gap. In Programming Languages and System Architectures. Springer, 49–68.
[155]
C. A. R. Hoare and A. Sampaio. 1994. An Algebraic Characterisation of Operational Semantics. Tech. rep. Oxford University Computing Laboratory.
[156]
C. A. R. Hoare. 1995. Unification of theories: A challenge for computing science. In M. Haveraaen, O. Owe, and O.-J. Dahl (Eds.), Recent Trends in Data Type Specification. Lecture Notes in Computer Science, Vol. 1130. Springer, 49–57.
[157]
B. von Karger and C. A. R. Hoare. 1995. Sequential calculus. Inf. Process. Lett. 53, 3, 123–130.
[158]
C. A. R. Hoare. 1996. How did software get so reliable without proof? In International Symposium of Formal Methods Europe. Springer, 1–17.
[159]
C. A. R. Hoare. 1996. Mathematical models for computing science. In Proceedings of the NATO Advanced Study Institute on Deductive Program Design. 115–164.
[160]
C. A. R. Hoare. 1996. The logic of engineering design. Microprocess. Microprogram. 41, 8–9.
[161]
C. A. R. Hoare. 1996. Unifying theories: A personal statement. ACM Comput. Surv. 28, 4es, 46–es.
[162]
C. A. R. Hoare. 1997. Unified theories of programming. In M. Broy and B. Scheider (Eds.), Mathematical Methods in Program Development. NATO ASI Series (Series F: Computer and Systems Sciences), Vol. 158. Springer, 313–367.
[163]
C. A. R. Hoare and Jifeng He. 1997. Unifying theories for parallel programming. In C. Lenguare, M. Griebl, and S. Gorlatch (Eds.), Euro-Par’97: Parallel Processing. Lecture Notes in Computer Science, Vol. 1300. Springer, 15–30.
[164]
C. A. R. Hoare and Jifeng He. 1998. Unifying Theories of Programming. Prentice Hall.
[165]
Jifeng He and C. A. R. Hoare. 1999. Linking theories in probabilistic programming. Inf. Sci. 119, 3–4, 205–218.
[166]
C. A. R. Hoare. 1999. Theories of programming: Top–down and bottom–up and meeting in the middle. In J. Wing, J. Woodcock, and J. Davies (Eds.), International Symposium on Formal Methods—FM’99. Lecture Notes in Computer Science, Vol. 1708. Springer, 1–27.
[167]
C. A. R. Hoare and Jifeng He. 1999. A trace model for pointers and objects. In R. Guerraoui (Eds.), ECOOP’99. Lecture Notes in Computer Science, Vol. 1628. Springer, 1–18.
[168]
S. Peyton Jones, et al. 1999. A semantics for imprecise exceptions. In Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation. 25–36.
[169]
S. Seres, J. M. Spivey, and C. A. R. Hoare. 1999. Algebra of logic programming. In ICLP. 184–199.
[170]
Jifeng He and C. A. R. Hoare. 2000. Unifying theories of healthiness condition. In Proceedings Seventh Asia-Pacific Software Engineering Conference. APSEC 2000. IEEE, 70–81.
[171]
C. A. R. Hoare. 2000. A hard act to follow. Higher-Order Symb. Comput. 13, 1, 71–72.
[172]
C. A. R. Hoare. 2000. Assertions. In Integrated Formal Methods. Lecture Notes in Computer Science, Vol. 1945. 1–2.
[173]
C. A. R. Hoare. 2000. Legacy code. In ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods. IEEE, 75–75. URL: https://ieeexplore.ieee.org/document/873807.
[174]
C. A. R. Hoare. 2000. Stories from a life in interesting times. In Kyoto Prizes and Inamori Grants 2000. The Inamori Foundation. URL: https://www.kyotoprize.org/wp-content/uploads/2019/07/2000_A.pdf.
[175]
C. A. R. Hoare, Jifeng He, and A. Sampaio. 2000. Algebraic derivation of an operational semantics. In Proof, Language and Interaction: Essays in Honour of Robin Milner. The MIT Press, 77–98.
[176]
C. A. R. Hoare. 2001. Legacy. Inf. Process. Lett. 77, 2–4, 123–129.
[177]
C. A. R. Hoare and Jifeng He. 2001. Unifying theories for logic programming. In Engineering Theories of Software Construction. NATO Science Series III: Computer and Systems Sciences. Proceedings of the 2000 Marktoberdorf Summer School.
[178]
S. P. Jones, A. Tolmach, and C. A. R. Hoare. 2001. Playing by the rules: Rewriting as a practical optimisation technique. In Haskell Workshop. 203–233. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.1486.
[179]
R. S. Boyer, et al. 2002. In memoriam: Edsger W. Dijkstra 1930–2002. Commun. ACM 45, 10, 21–22.
[180]
C. A. R. Hoare. 2002. Assertions in modern software engineering practice. In Proceedings 26th Annual International Computer Software and Applications. IEEE, 459–459.
[181]
C. A. R. Hoare. 2002. Assertions in programming: From scientific theory to engineering practice. In D. Bustard, W. Liu, and R. Sterritt (Eds.), Soft-Ware 2002: Computing in an Imperfect World. Lecture Notes in Computer Science, Vol. 2311. Springer, 350–351.
[182]
C. A. R. Hoare. 2003. Assertions. In M. Broy and M. Pizka (Eds.), Models, Algebras and Logic of Engineering Software. NATO Science Series III: Computer and Systems Sciences, Vol. 191. 291–316.
[183]
C. A. R. Hoare. 2003. Assertions: A personal perspective. IEEE Ann. Hist. Comput. 25, 2, 14–25.
[184]
C. A. R. Hoare. 2003. The verifying compiler: A grand challenge for computing research. J. ACM 50, 1, 63–69.
[185]
C. A. R. Hoare. 2003. The verifying compiler: A grand challenge for computing research. In G. Hedin (Ed.), CC2003: Compiler Construction. Lecture Notes in Computer Science, Vol. 2622. Springer, 262–272.
[186]
C. A. R. Hoare. 2003. Towards the verifying compiler. In B. K. Aichernig and T. Maibaum (Eds.), Formal Methods at the Crossroads. From Panacea to Foundational Support. Lecture Notes in Computer Science, Vol. 2757. Springer, 151–160.
[187]
C. Fournet, et al. 2004. Stuck-free conformance. In International Conference on Computer Aided Verification. Springer, 242–254.
[188]
C. A. R. Hoare. 2004. Grand challenges for computing research. In A. Herbert and K. Spark-Jones (Eds.), Computer Systems: Theory, Technology, and Applications. A Tribute to Roger Needham. Springer, 117–123.
[189]
C. A. R. Hoare. 2004. Towards the verifying compiler. In O. Owe, S. Krogdahl, and T. Lyche (Eds.), From Object-Orientation to Formal Methods: Essays in Memory of Ole-Johan Dahl. Vol. 2635. Springer, 124–136.
[190]
C. A. R. Hoare, C. B. Jones, and B. Randell. 2004. Extending the horizons of DSE. In Grand Challenges. UKCRC. URL: http://www.nesc.ac.uk/esi/events/Grand_Challenges/gcconf04/submissions/23.pdf.
[191]
C. A. R. Hoare and M. Wilkes. 2004. Biography of Roger Michael Needham, CBE, FREng. 9 February 1935–1 March 2003. Biogr. Mem. Fellows R. Soc. 50, 183–199.
[192]
R. Bruni, et al. 2005. Comparing two approaches to compensable flow composition. In M. Abadi and L. de Alfaro (Eds.), CONCUR 2005—Concurrency Theory. Vol. 3653. Springer, 383–397.
[193]
M. Butler, C. A. R. Hoare, and C. Ferreira. 2005. A trace semantics for long-running transactions. In Communicating Sequential Processes. The First 25 Years. Lecture Notes in Computer Science, Vol. 3525. Springer, 133–150.
[194]
Jifeng He and C. A. R. Hoare. 2005. Linking theories of concurrency. In International Colloquium on Theoretical Aspects of Computing. Springer, 303–317.
[195]
C. A. R. Hoare. 2005. Process algebra: A unifying approach. In Engineering Theories of Software Intensive Systems. Springer, 257–283. URL: https://link.springer.com/content/pdf/10.1007/1-4020-3532-2_9.pdf.
[196]
C. A. R. Hoare. 2005. Process algebra: A unifying approach. In CSP25. Lecture Notes in Computer Science, Vol. 3525. Springer, Berlin, 36–60.
[197]
C. A. R. Hoare, G. Menzel, and J. Misra. 2005. A tree semantics of an orchestration language. In Engineering Theories of Software Intensive Systems. Springer, 331–350.
[198]
B. Beckert, et al. 2006. Intelligent systems and formal methods in software engineering. IEEE Intell. Syst. 21, 6, 71–81.
[199]
J. C. Bicarregui, C. A. R. Hoare, and J. C. P. Woodcock. 2006. The verified software repository: A step towards the verifying compiler. Form. Asp. Comput. 18, 2, 143–151.
[200]
C. A. R. Hoare. 2006. Why ever CSP? Electron. Notes Theor. Comput. Sci. 162, 209–215.
[201]
V. Vafeiadis, et al. 2006. Proving correctness of highly-concurrent linearisable objects. In Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM, 129–136.
[202]
C. A. R. Hoare. 2007. Compensable transactions. In Software System Reliability and Security. IOS Press, 116–134.
[203]
C. A. R. Hoare. 2007. Science and engineering: A collusion of cultures. In 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’07). IEEE. 2–9.
[204]
C. A. R. Hoare. 2007. The ideal of program correctness: Third Computer Journal lecture. BCS, Comput. J. 50, 3, 254–260.
[205]
C. A. R. Hoare. 2008. Verification of fine-grain concurrent programs. Electron. Notes Theor. Comput. Sci. 209, 165–171.
[206]
C. A. R. Hoare and J. Misra. 2008. VSTTE 2005 Verified software: Theories, tools, experiments vision of a grand challenge project. In B. Meyer and J. Woodcock (Eds.), Working Conference on Verified Software: Theories, Tools, and Experiments. Vol. 4171. Springer, 1–18.
[207]
C. A. R. Hoare and P. O’Hearn. 2008. Separation logic semantics for communicating processes. Electron Notes Theor. Comput. Sci. 212, 3–25.
[208]
C. A. R. Hoare. 2009. Retrospective: An axiomatic basis for computer programming. Commun. ACM 52, 10, 30–32.
[209]
C. A. R. Hoare and J. Misra. 2009. Preface to special issue on software verification. ACM Comput. Surv. 41, 4, 18.
[210]
C. A. R. Hoare, et al. 2009. Concurrent Kleene algebra. In M. Bravetti and G. Zavattaro (Eds.), International Conference on Concurrency Theory. Lecture Notes in Computer Science, Vol. 5710. Springer, 399–414.
[211]
C. A. R. Hoare, et al. 2009. Foundations of concurrent Kleene algebra. In R. Berghammer, A. M. Jaoua, and B. Möller (Eds.), International Conference on Relational Methods in Computer Science. Lecture Notes in Computer Science, Vol. 5827. Springer, 166–186.
[212]
C. A. R. Hoare, et al. 2009. The verified software initiative: A manifesto. ACM Comput. Surv. 41, 4, 22:1–22:8.
[213]
I. Wehrman, C. A. R. Hoare, and P. W. O’Hearn. 2009. Graphical models of separation logic. Inf. Process. Lett. 109, 17, 1001–1004.
[214]
C. A. R. Hoare. 2010. Fine-grain concurrency. Concurr. Comput. Pract. Exp. 22, 8, 912–934.
[215]
C. A. R. Hoare. 2010. Fine-grain concurrency. In P. Mueller. (Ed.), Advanced Lectures on Software Engineering. LASER 2007, LASER 2008. Lecture Notes in Computer Science, Vol. 6029. Springer, 1–20. URL:.
[216]
C. A. R. Hoare. 2010. Testing and proving, hand in hand. In L. Bottaci and G. Fraser. (Ed.), Testing–Practice and Research Techniques. Lecture Notes in Computer Science, Vol. 6303. Springer, 5–6.
[217]
C. A. R. Hoare. 2010. The Michael Jackson design technique: A study of the theory with applications. In B. Nuseibeh and P. Zave (Eds.), Software Requirements and Design: The Work of Michael Jackson. Good Friends Publishing Company. URL: https://pdfs.semanticscholar.org/eac2/a5102a065f176d3b4dfbe5edc11299a5676d.pdf?_ga=2.231471771.527521490.1589572259-1515298289.1587207806.
[218]
C. A. R. Hoare and N. Shankar. 2010. Unraveling a card trick. In Z. Manna and D. Peled (Eds.), Time for Verification, Essays in Memory of Amir Pnueli. Lecture Notes in Computer Science, Vol. 6200. Springer, 195–201.
[219]
C. A. R. Hoare. 2011. Recovery blocks. In C. B. Jones and J. L. Lloyd (Eds.), Dependable and Historic Computing—Essays Dedicated to Brian Randell on the Occasion of His 75th Birthday. Lecture Notes in Computer Science, Vol. 6875. Springer, 261–266.
[220]
C. A. R. Hoare and J. Wickerson. 2011. Unifying models of data flow. In M. Broy, C. Leuxner, and C. A. R. Hoare (Eds.), Software and Systems Safety—Specification and Verification. IOS Press, 2011, 211–230.
[221]
C. A. R. Hoare, et al. 2011. Concurrent Kleene algebra and its foundations. J. Log. Algebraic Program. 80, 6, 266–296.
[222]
C. A. R. Hoare, et al. 2011. On locality and the exchange law for concurrent processes. In J. P. Kateon and B. Koenig (Eds.), CONCUR2011: Concurrency Theory. Lecture Notes in Computer Science, Vol. 6901. Springer, 250–264.
[223]
C. A. R. Hoare. 2012. Message of thanks: On the receipt of the 2011 ACM SIGPLAN Distinguished Achievement Award. In John Field and Michael Hicks (Eds.), Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2012, Philadelphia, Pennsylvania, USA, January 22–28, 2012. ACM, 3–6.
[224]
C. A. R. Hoare. 2012. Net models for concurrent object behaviour. In S. Haddad and L. Pomello (Eds.), Application and Theory of Petri Nets—33rd International Conference, PETRI NETS 2012, Hamburg, Germany, June 25–29, 2012. Proceedings. Lecture Notes in Computer Science, Vol. 7347. Springer, 1–2.
[225]
C. A. R. Hoare and S. van Staden. 2012. In praise of algebra (English). Form. Asp. Comput. 24, 4–6, 423–431. ISSN: 0934-5043.
[226]
C. A. R. Hoare and S. van Staden. 2012. The laws of programming unify process calculi. In J. Gibbons and P. Nogueira (Eds.), Mathematics of Program Construction—11th International Conference. Lecture Notes in Computer Science, Vol. 7342. Springer, 7–22.
[227]
C. A. R. Hoare. 2013. Generic models of the laws of programming. In Zhiming Liu, J. Woodcock, and Huibiao Zhu (Eds.), Theories of Programming and Formal Methods—Essays Dedicated to Jifeng He on the Occasion of His 70th Birthday. Lecture Notes in Computer Science, Vol. 8051. Springer, 213–226.
[228]
C. A. R. Hoare. 2013. Unifying semantics for concurrent programming. In Computation, Logic, Games, and Quantum Foundations. The Many Facets of Samson Abramsky. Springer, 139–149.
[229]
S. van Staden and C. A. R. Hoare. 2013. Algebra unifies operational calculi. In B. Wolff, M.-C. Gaudel, and A. Feliachi (Eds.), Unifying Theories of Programming, 4th International Symposium, UTP 2012, Paris, France, August 27–28, 2012, Revised Selected Papers. Lecture Notes in Computer Science, Vol. 7681. Springer, 88–104.
[230]
C. A. R. Hoare and S. van Staden. 2014. The laws of programming unify process calculi. Sci. Comput. Program. 85, 102–114.
[231]
C. A. R. Hoare, et al. 2014. Developments in concurrent Kleene algebra. In P. Höfner, et al. (Ed.), Concurrent Kleene Algebras and Related Formalisms. Lecture Notes in Computer Science, Vol. 8428. Springer, 1–18.
[232]
C. A. R. Hoare and Cliff B. Jones. 2016. Professor Sir Tony Hoare: ACM Turing Award Winner 1980. Online. Interview. URL: https://amturing.acm.org/pdf/HoareTuringTranscript.pdf.

Cited By

View all
  • (2023)Jifeng He at Oxford and Beyond: An AppreciationTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_1(3-18)Online publication date: 8-Sep-2023

Index Terms

  1. List of Tony Hoare’s Publications
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image ACM Books
        Theories of Programming: The Life and Works of Tony Hoare
        October 2021
        450 pages
        ISBN:9781450387286
        DOI:10.1145/3477355

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 02 October 2021

        Permissions

        Request permissions for this article.

        Check for updates

        Qualifiers

        • Chapter

        Appears in

        ACM Books

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 26 Sep 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2023)Jifeng He at Oxford and Beyond: An AppreciationTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_1(3-18)Online publication date: 8-Sep-2023

        View Options

        Get Access

        Login options

        Full Access

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media