{"title":"CSP, Occam, and Inmos","authors":"David May","doi":"10.1145/3477355.3477368","DOIUrl":"https://doi.org/10.1145/3477355.3477368","url":null,"abstract":"","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"2 7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125721954","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The First Fifteen Years of the Verified Software Project","authors":"Peter Müller, N. Shankar","doi":"10.1145/3477355.3477362","DOIUrl":"https://doi.org/10.1145/3477355.3477362","url":null,"abstract":"6.","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129451292","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Authors’ Biographies/Index","authors":"","doi":"10.1145/3477355.3477377","DOIUrl":"https://doi.org/10.1145/3477355.3477377","url":null,"abstract":"data types, 259–260 Abstract interpretation, 97interpretation, 97 Abstraction, 188–189, 291. See also Effective abstractionsion, 188–189, 291. See also Effective abstractions in specification, 256–257 ACM interview, 359–385 ACM Turing Award (1980), 3 emperor’s old clothes, 4–21 ADA language, 19, 367","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129845980","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
J. Woodcock, Janet Barnes, R. Chapman, S. Foster, T. Santen
{"title":"Verification in the Grand Challenge","authors":"J. Woodcock, Janet Barnes, R. Chapman, S. Foster, T. Santen","doi":"10.1145/3477355.3477363","DOIUrl":"https://doi.org/10.1145/3477355.3477363","url":null,"abstract":"We review Tony Hoare’s verification challenge. We start in 2003 with his challenge to construct a verifying compiler and his continuing theme on unifying theo ries in computer science. We describe the industrial-scale pilot projects that were proposed to drive this challenge forward: NatWest’s Mondex smart card, NASA’s space-flight flash filestore, Ofcom’s radio spectrum auctions, Microsoft’s hypervi sor, NSA’s Tokeneer identification station, Wittenstein’s FreeRTOS real-time ker nel, and Boston Scientific’s cardiac pacemaker. We go into detail on the conduct and achievements of the Tokeneer project. We discuss the wider impact of the ver ification challenge and the sea change since 2003. We look forward to the next 15 years and suggest a pilot project in robotics for the verification community. review of all specifications. (2) Independent design assessment: to ensure that all essential system functional requirements are correctly represented in all stages of the software design. (3) Malpas analysis: formal verification of the source code against its specifications. (4) Object/source code comparison: to eliminate the possibility of errors being introduced by the compiler and linker. (5) Dynamic testing: randomly generated test cases on one of the four identical channels of the PPS. Ward estimates that these five activities involved around 250 person-years of effort, an amount equivalent to that spent by the software manufac turer in their own development and verification work. The Malpas activity has been estimated at 100 person-years. Ward concludes that, although high, this level of effort was considered necessary. core functions of one component of the Tokeneer system. The development","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132060153","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Preface to Special Issue on Software Verification","authors":"C. Hoare, J. Misra","doi":"10.1145/3477355.3477360","DOIUrl":"https://doi.org/10.1145/3477355.3477360","url":null,"abstract":"The origins of software verification go back to the pioneers of Computing Science, von Neumann and Turing. The idea has been rediscovered several times since then, for example by McCarthy, Naur and Floyd. The ideals of verification have inspired half a century of productive computing research at the foundations of the subject. There are now flourishing research schools in computational logic, computer-aided proof, programming theory, formal semantics, specification and programming languages, programming methodology and software engineering. By the end of the last century, enormous progress had been made in verifi cation theory and in tools to assist in its application. The technology of proof was extended to include constraint solving and model checking, which were rou tinely exploited in the electronics industry to increase confidence in the absence of","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"81 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113992144","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Hoare and He’s Unifying Theories of Programming","authors":"J. Woodcock","doi":"10.1145/3477355.3477369","DOIUrl":"https://doi.org/10.1145/3477355.3477369","url":null,"abstract":"","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122496098","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"CSP: A Practical Process Algebra","authors":"S. Brookes, A. W. Roscoe","doi":"10.1145/3477355.3477365","DOIUrl":"https://doi.org/10.1145/3477355.3477365","url":null,"abstract":"We recall our work with Tony Hoare in developing the process algebra form of CSP. The semantics we developed with him, based on sets of observable linear behaviours, led to a very distinctive style of practical application using refinement checking, as embodied in the FDR model checker. We outline the history of FDR, showing how its power has been enhanced over time, and we showcase some major industrial applications to demonstrate its versatility. We show that CSP is a process algebra with firm semantic foundations and a wide range of practical applications. In doing so we pay tribute to Tony’s profound and continuing influence.","PeriodicalId":194610,"journal":{"name":"Theories of Programming","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122839737","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}