Program Verification and Semantics: The early work Teresa Numerico and Jonathan Bowen On Tuesday 5 June 2001, a seminar on Program Verification and Semantics: The early work was held in the Director’s Suite at the Science Museum, London. The seminar was organized with the co-operation of the British Computer Society (BCS) and the Computer Conservation Society (CCS). It was an instructive and enjoyable afternoon for the hundred or so people that attended the meeting. Participating in the meeting were some of the pioneers and most important scientists in the fields of program verification and semantics and some of the most important historians of computing in Great Britain. It was a unique occasion that allowed the mingling of these two groups of people with an interest in computer science. The organization of Prof. Jonathan Bowen, Prof. Cliff Jones and George Davis created a very good rapport between the audience and the speakers that presented their experiences in the field of formal methods. Presentations ranged from formal lectures to personal reminiscences. It was a historical event in itself: the special atmosphere allowed the audience to participate with interesting questions and reminiscences of their own. After an introductory speech by Chris Burton on the aims of the CCS, Jonathan Bowen outlined very briefly the history of formal methods from Aristotle’s logic to the use of Tony Hoare’s assertions method in present debugging techniques, via Alan Turing’s and Christopher Strachey’s achievements. The main speakers at the meeting were Sir Tony Hoare (Queen's University Belfast, Oxford University and Microsoft Research Cambridge), Joe Stoy (Oxford University Computing Laboratory), Prof. Robin Milner (Edinburgh and Cambridge Universities) and Prof. Peter Landin (Queen Mary, University of London). Tony Hoare gave a talk on “Assertions: a personal perspective.” It was an excursus on his long and successful career, in and out of industry and academia. During his humanities, language and statistics training, he became interested in mathematical logic and its power, under the supervision of John Lucas. When he started his career in industry, at Elliott Brothers in 1960, he led a team with the aim of design and delivery of the first compiler for ALGOL 1960. According to him, his success was due to the fact the compiler used ALGOL itself as the design language. He became interested in axiomatic theory, reading Bertrand Russell’s Introduction to Mathematical Philosophy, and realized that computer programs could also be expressed and defined using assertions, known as preconditions and postconditions relative to the results that were expected at the launch and termination of a program. After his industrial experience, in 1968 he pursued his research into assertions in an academic setting at Queen’s University in Belfast and from 1977 for 22 years at Oxford University, and then returning to industry at Microsoft from 1999 until present. While he was working in a university environment he could persevere in his research considering his objectives as long-term achievements. When he went back into industry, he found that assertions are in widespread use, and in a range of products comprise between one and ten percent of the code volume. Their primary role is to act as a test oracle, a definition of when and under what circumstances a test on that specific program is considered a failure. According to him there are still a lot of challenges to face, like the extension of assertions to cover some characteristics of the object-oriented languages, such as inheritance, overriding and pointer manipulation. His belief however is that in the future assertional methods will be used as a design tool to evaluate the quality of programs. Keeping this aim in mind, it is still very important to concentrate on academic long-term research objectives. Joe Stoy’s talk was entitled “The beginnings of formal semantics at Oxford,” in which he described in detail the creation and the results of the Programming Research Group (PRG) at Oxford University. The group was the outcome of a strong battle between Leslie Fox and

Christopher Strachey who, at the beginning of the 1960s, had opposing views with regard to computing machines and the most appropriate use of them. According to Strachey, programming demanded a great deal of mathematical and theoretical study, while Leslie Fox believed that it was mainly a practical activity that was not suitable for undergraduates. In fact Fox was very much against the practice adopted at MIT of using almost half of the available machines to teach students the programming principles and techniques. Strachey’s major objective was the definition of the basic concepts that allowed the description of all the parts of a programming language in term of mathematical declarative expressions, so that it would not be necessary to postulate an “evaluating mechanism.” The contact between Strachey and Dana Scott was very fruitful both for themselves and the whole PRG. Dana Scott’s work on lattice semantics allowed the use of typed λ calculus and, from 1969, of type free formal calculus. Strachey himself underlined Dana’s role in his results, reporting progress directly to the Science Research Council (SRC) in 1970. Stoy mentioned many PRG graduate students who made important contributions to research in the field, during the 1970s, but reported also that Strachey was seriously worried about the distance between programming practice in industry and programming theory studied at university. However, Stoy emphasized the increased importance of simplicity and of functional programming in industrial software production. Even if he started to work with the group by chance, being a physicist who happened to attend the right party at the right time, he has enjoyed being a member of the PRG. Robin Milner is renowned for three distinct and complete achievements, which had a marked effect on the theory and practice of computer science: LCF the mechanization of Scott’s logic of computable functions, probably the first theoretically based yet practical tool for machine-assisted proof construction; ML, the first language to include polymorphic type inference together with a typesafe exception-handling mechanism; and CCS a general theory of concurrency. He was the third speaker at the meeting and gave a talk with the title “Concept and formality in computing.” He spoke about how his scientific life divided into four major interests: program verification, semantics, process algebra and models of interactions. The starting point was the necessity of testing large programs, and the desire to mechanize the program verification procedure. Having this purpose in mind, he created a resolution theorem prover that worked very well. This experience gave him the clear belief that he needed science and not luck! Creating interaction between man and machines implied use of the formality of the program structure in order to avoid misunderstandings. The machine assisted formal reasoning obliged the human programmer to express goals, proof strategies, and to define the notion of composing strategies together. He was influenced by Dana Scott and John McCarthy and spent one year at Stanford (1971-1972) working in the concurrency field. In his view there is a balance between formal semantics and programming practice. He has belonged to different research communities and declared to have influenced and to have been influenced by all of his colleagues. He seemed to be very conscious of the dilemma between formality in languages and the need for quick and reasonable results in the actual practice of programming. Peter Landin gave the last talk with the provocative title of “Why are things so complicated?” It was a very personal recollection of thoughts about the beginnings of his scholarly career, started at the end of the 1950s. He was much influenced by McCarthy and started to study LISP when the most common language was FORTRAN. LISP was very different from the other contemporary languages because it was based on a functional calculus rather than being procedural in nature. He reminded the audience of Marvin Minsky’s hostility against λ-calculus and ALGOL, while he was writing some theoretical papers related to them. He remembered how difficult it was to deal with delay lines and drums and gave the flavor of the past times. The audience had the impression that a piece of the computing history was dancing in front of them. At the end of the meeting, Cliff Jones, who was cited by some of the main speakers as one of the major scientists in the field, drew some conclusions. The ability to prove mathematically that a program correctly implements its specification is increasingly important, even if there is still a lot to do in order to guarantee that security and safety-critical applications perform correctly. The major points of importance were: • The long-term objectives in research, that were not comparable with the urgency of short-

term results of software engineering companies; • The results obtained through academic achievements used subsequently in industrial practice, confirming that academic ideas can be successful with patience; • The never-ending tension between theory and practice in using formal methods; • The importance of belonging to a scientific community in order to achieve outstanding results; • The profitable interactions between some US universities and scientists such as Dana Scott and John McCarthy and UK research groups. Further information on the meeting, including a selection photographs, can be found on-line: http://vmoc.museophile.sbu.ac.uk/pvs01/ Published as: Program Verification and Semantics: The early work, Teresa Numerico and Jonathan P. Bowen. IEEE Annals of the History of Computing, 24(1):90-92, January-March 2002. In Events and Sightings, Mary Croarken and Nathan Ensmenger, pp. 90-94. Also in BCS Computer Resurrection (The Bulletin of the Computer Conservation Society), 27:15-18, Spring 2002.

Program Verification and Semantics: The early work

Jun 5, 2001 - of a programming language in term of mathematical declarative expressions, so that it would not be necessary to postulate an “evaluating ...

123KB Sizes 1 Downloads 124 Views

Recommend Documents

Early Automated Verification of Tool Chain Design
The data structure combines the description of the development process. (section 3.1) and the tool chain design (section 3.2) by adding mapping links between both descriptions (section 3.3). 3.1 Description of the Product Development Process. We appl

Verification of Source Code Transformations by Program ... - CiteSeerX
2. Piecewise-affine expressions: Subscripts in the arrays and expressions in the .... M匮 2 a b. Fig. 2. The ADDGs of program functions in Fig. 1. Array A1 and ...

2017-2018 LIEAP Work Registration Verification Final.pdf
Page 1 of 1. LIEAP ID: {hhid} Revised 08/29/2017. WORK REGISTRATION AGREEMENT. In accordance with the United States Department of Health and Human Services (DHHS) Low Income. Home Energy Assistance Program (LIHEAP) Assurance 16 Services and the Wyomi

Descriptions, Presuppositional Indefinites, and Comparison Semantics ...
Apr 5, 2014 - (10) Semantics of want based on comparison of alternatives ..... 3Schoubye calls the generalized problem 'the existence problem' in his paper, ... J., and Trueman, A., editors, Proceedings of the 29th West Coast Conference.

Inquisitive Semantics and Pragmatics
Nov 4, 2011 - We will reformulate proto-inquisitive semantics using the concepts and tools from inquisitive .... See the web- ... All free occurrences of variables in ϕ are bound in ?ϕ. ...... Indian Conference on Logic and its Applications.

type theory and semantics in flux - Free
objects than are provided by classical model theory, objects whose components can be manipulated by ... type theory as an important component in a theory of cognition. ...... of a video game.8. (15) As they get to deck, they see the Inquisitor, calli

Inquisitive Semantics and Dialogue Management
information (and issues I would add) which concern the subject matter of the ...... and puts a new stage on top of the stack where we add the theme ?ϕ of ϕ to.

Retrieving and Processing the Syntax and Semantics of ...
Hampshire College, School of Cognitive Science. 2 .... The Mass/Count Distinction: Evidence from On-Line Psycholinguistic Performance. Brain and. Language ...

TRIVALENT SEMANTICS AND THE VAGUELY VAGUE ...
Any trivalent semantics for languages with vague predicates must deal with the .... parallel – holds for meta-linguistic claims like (*); second, that, if A entails B ...

Preverbal coordination and the semantics of noun incorporation in ...
In this talk I will consider certain semantic properties of noun incorporation in Hungarian on the basis of a similar construction, which I will refer to as preverbal ...

Read The Well Balanced Child: Movement and Early Learning (Early ...
Early Learning (Early Years) Full Online ... The Symphony of Reflexes: Interventions for Human Development, Autism, ADHD, ... Disconnected Kids: The Groundbreaking Brain Balance Program for Children with Autism, ADHD, Dyslexia, and.

Graded structure and the speed of category verification: On the ...
For non-social categories (e.g., BIRD), participants were faster to classify typical instances than atypical .... testable propositions, both of which received support.

Inquisitive semantics lecture notes
Jun 25, 2012 - reformulated as a recursive definition of the set |ϕ|g of models over a domain. D in which ϕ is true relative to an assignment g. The inductive ...

Ontological Semantics
Descriptions in ontological semantics include text meaning representations, lexical ... the development of implementations and comprehensive applications the.

Propositions, Synonymy, and Compositional Semantics
we can all agree that in the theory of meaning it is better to be direct than indirect. ... 2 See (Hanks 2015, ch.1) for more on the Fregean conception, and why I call it ...... President Obama says that snow is white at a news conference (and that i

Generalized Inquisitive Semantics and Logic
Aug 28, 2009 - Of course, this picture is limited in several ways. First ...... dition of Groenendijk's logic of interrogation (Groenendijk, 1999; ten Cate and Shan,.

The roles of verb semantics, entrenchment, and ...
Sep 13, 2012 - dative argument structure, semantics, entrenchment, preemption. 1. ... duce utterances that they have not heard before, yet, on the other, ... *Don't say me that), children subsequently retreat (e.g. Bowerman 1988, ...... ment, speaker

Inquisitive Semantics and Dialogue Pragmatics
reaction of the other participant is to call for cancellation, the hypothetical update is ..... But note also that in case s is indifferent, i.e., if s = s*, only the absurd state and s ...... D.L. Strolovitch (eds), The Proceedings of the Ninth Conf

Generalized Inquisitive Semantics and Logic
Aug 28, 2009 - Submitted for publication, manuscript No. (will be inserted .... It follows from definition 2.3 that the support-conditions for ¬ϕ and !ϕ are as ...... We will call a model negative in case its valuation is negative. Observe that if

Inquisitive Semantics and Pragmatics
not inquisitive, a hybrid sentence is both informative and inquisitive, and an insignificant .... only it is not private to one of the participants, but public to all of them.

Semantics, Intonation and Information Structure
ical form by rules of IS realization, and receives its meaning via rules of IS interpretation. ... however, using the tools familiar from ordinary truth-conditional semantics ... this paper we can equate with the sentence, the final pitch accent is i

type theory and semantics in flux - Free
clear from the context which is meant. The set of leaves of r, also known as its extension (those objects other than labels which it contains), is {a, b, ...... binary sign ∧.. phon concat ∧.. binary cat(np)(vp)(s) ∧.. fin hd. ∧ .. cnt forw a

Truth and typicality in the interpretation of quantifiers - Semantics Archive
information than what is encoded in their set-theoretic definitions. To illustrate, Newstead et al. (1987) asked participants to fill in the blanks in sentences like the ...

The phonology and semantics of expressive ...
Eskimo as “a meaningful phonological process”. Some of the data are presented in. (6), where a plain form is followed by an intensified one. (6) Expressive lengthening in Central Alaskan Yupik Eskimo (Woodbury 1987) a. [quyá:kacá:γáγ̊luní]