A Practical Theory of Programming

A Practical Theory of Programming
Author :
Publisher : Springer Science & Business Media
Total Pages : 257
Release :
ISBN-10 : 9781441985965
ISBN-13 : 1441985964
Rating : 4/5 (65 Downloads)

Synopsis A Practical Theory of Programming by : Eric C.R. Hehner

There are several theories of programming. The first usable theory, often called "Hoare's Logic", is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications.

Theories of Programming and Formal Methods

Theories of Programming and Formal Methods
Author :
Publisher : Springer Nature
Total Pages : 417
Release :
ISBN-10 : 9783031404368
ISBN-13 : 303140436X
Rating : 4/5 (68 Downloads)

Synopsis Theories of Programming and Formal Methods by : Jonathan P. Bowen

This Festschrift volume, dedicated to Jifeng He on the occasion of his 80th birthday, includes refereed papers by leading researchers, many of them current and former colleagues, presented at a dedicated celebration in the Shanghai Science Hall in September 2023. Jifeng was an important researcher on the European ESPRIT ProCoS project and the Working Group on Provably Correct Systems, subsequently he collaborated with Tony Hoare on Unifying Theories of Programming. Jifeng returned to China in 1998, first to the United Nations University in Macau and then to the East China Normal University in Shanghai. He has since founded an Artificial Intelligence research institute that focuses on the application of technology in large-scale industrial software systems. His scientific contributions have been recognized through his election to membership of the Chinese Academy of Sciences. The first paper in the volume provides an overview of Jifeng’s research contributions, especially in the area of formal methods, and the following two papers detail developments in UTP and rCOS (refinement calculus of object systems). In the next two sections of the book, the editors included papers by colleagues and coauthors of Jifeng while he was at the University of Oxford and engaged with the European ProCoS project. The section that follows includes papers authored by colleagues from his later research in China and Europe. The final section includes a paper related to Jifeng’s recent roadmap for UTP.

Theories of Programming and Formal Methods

Theories of Programming and Formal Methods
Author :
Publisher : Springer
Total Pages : 422
Release :
ISBN-10 : 9783642396984
ISBN-13 : 3642396984
Rating : 4/5 (84 Downloads)

Synopsis Theories of Programming and Formal Methods by : Zhiming Liu

This Festschrift volume, dedicated to He Jifeng on the occasion of his 70th birthday in September 2013, includes 24 refereed papers by leading researchers, current and former colleagues, who congratulated at a celebratory symposium held in Shanghai, China, in the course of the 10th International Colloquium on Theoretical Aspects of Computing, ICTAC 2013. The papers cover a broad spectrum of subjects, from foundational and theoretical topics to programs and systems issues and to applications, comprising formal methods, software and systems modeling, semantics, laws of programming, specification and verification, as well as logics. He Jifeng is known for his seminal work in the theories of programming and formal methods for software engineering. He is particularly associated with Unifying Theories of Programming (UTP) , the theory of data refinement and the laws of programming, and the rCOS formal method for object and component system construction. His book on UTP with Tony Hoare has been widely read and followed by a large number of researchers, and it has been used in many postgraduate courses. He was a senior researcher at Oxford during 1984-1998, and then a senior research fellow at the United Nations University International Institute for Software Technology (UNU-IIST) in Macau during 1998-2005. He has been a professor and currently the Dean of the Institute of Software Engineering at East China Normal University, Shanghai, China. In 2005, He Jifeng was elected as an academician to the Chinese Academy of Sciences. He also received an honorary doctorate from the University of York. He won a number of prestigious science and technology awards, including a 2nd prize of Natural Science Award from the State Council of China, a 1st prize of Natural Science Award from the Ministry of Education of China, a 1st prize of Technology Innovation from the Ministry of Electronic Industry, and a number awards from Shanghai government.

Unifying Theories of Programming and Formal Engineering Methods

Unifying Theories of Programming and Formal Engineering Methods
Author :
Publisher : Springer
Total Pages : 292
Release :
ISBN-10 : 9783642397219
ISBN-13 : 3642397212
Rating : 4/5 (19 Downloads)

Synopsis Unifying Theories of Programming and Formal Engineering Methods by : Zhiming Liu

This book presents 5 tutorial lectures by leading researchers given at the ICTAC 2013 Software Engineering School on Unifying Theories of Programming and Formal Engineering Methods, held in Shanghai, China in August 2013.The lectures are aimed at postgraduate students, researchers, academics, and industrial engineers. They cover topics such as component-based and service-oriented systems, real-time systems, hybrid systems, cyber physical systems, and present techniques such as inductive theorem proving, model checking, correction by construction through refinement and model transformations, synthesis, and computer algebra. Two of the courses are explicitly related to Hoare and He's Unifying Theories of Programming.

Unifying Theories of Programming

Unifying Theories of Programming
Author :
Publisher :
Total Pages : 328
Release :
ISBN-10 : UOM:39015047062917
ISBN-13 :
Rating : 4/5 (17 Downloads)

Synopsis Unifying Theories of Programming by : Charles Antony Richard Hoare

This book provides a synthesis of the theory of programming. It aims to use mathematical theory of programming to provide a similar basis for specification, design and implementation of programs. It is wide ranging both in its subject matter and also in its approach and style. The first five chapters justify and introduce the main concepts and methods to be used within the text, relating the goal of unification to the achievements of other branches of science and mathematics. The remaining chapters introduce more advanced programming language features one by one. The main methods of programming are summarised and concluded in a manner suitable for those already familiar with programming semantics. Definitions are accompanied by examples and the theorems by meticulous proof.

Deductive Software Verification – The KeY Book

Deductive Software Verification – The KeY Book
Author :
Publisher : Springer
Total Pages : 714
Release :
ISBN-10 : 9783319498126
ISBN-13 : 3319498126
Rating : 4/5 (26 Downloads)

Synopsis Deductive Software Verification – The KeY Book by : Wolfgang Ahrendt

Static analysis of software with deductive methods is a highly dynamic field of research on the verge of becoming a mainstream technology in software engineering. It consists of a large portfolio of - mostly fully automated - analyses: formal verification, test generation, security analysis, visualization, and debugging. All of them are realized in the state-of-art deductive verification framework KeY. This book is the definitive guide to KeY that lets you explore the full potential of deductive software verification in practice. It contains the complete theory behind KeY for active researchers who want to understand it in depth or use it in their own work. But the book also features fully self-contained chapters on the Java Modeling Language and on Using KeY that require nothing else than familiarity with Java. All other chapters are accessible for graduate students (M.Sc. level and beyond). The KeY framework is free and open software, downloadable from the book companion website which contains also all code examples mentioned in this book.

Introduction to the Theory of Programming Languages

Introduction to the Theory of Programming Languages
Author :
Publisher : Springer Science & Business Media
Total Pages : 102
Release :
ISBN-10 : 9780857290762
ISBN-13 : 0857290762
Rating : 4/5 (62 Downloads)

Synopsis Introduction to the Theory of Programming Languages by : Gilles Dowek

The design and implementation of programming languages, from Fortran and Cobol to Caml and Java, has been one of the key developments in the management of ever more complex computerized systems. Introduction to the Theory of Programming Languages gives the reader the means to discover the tools to think, design, and implement these languages. It proposes a unified vision of the different formalisms that permit definition of a programming language: small steps operational semantics, big steps operational semantics, and denotational semantics, emphasising that all seek to define a relation between three objects: a program, an input value, and an output value. These formalisms are illustrated by presenting the semantics of some typical features of programming languages: functions, recursivity, assignments, records, objects, ... showing that the study of programming languages does not consist of studying languages one after another, but is organized around the features that are present in these various languages. The study of these features leads to the development of evaluators, interpreters and compilers, and also type inference algorithms, for small languages.

Modern Formal Methods and Applications

Modern Formal Methods and Applications
Author :
Publisher : Springer Science & Business Media
Total Pages : 217
Release :
ISBN-10 : 9781402042232
ISBN-13 : 140204223X
Rating : 4/5 (32 Downloads)

Synopsis Modern Formal Methods and Applications by : Hossam A. Gabbar

Formal methods are a robust approach for problem solving. It is based on logic and algebraic methods where problems can be formulated in a way that can help to find an appropriate solution. This book shows the basic concepts of formal methods and highlights modern modifications and enhancements to provide a more robust and efficient problem solving tool. Applications are presented from different disciplines such as engineering where the operation of chemical plants is synthesized using formal methods. Computational biology becomes easier and systematic using formal methods. Also, hardware compilation and systems can be managed using formal methods. This book will be helpful for both beginners and experts to get insights and experience on modern formal methods by viewing real applications from different domains.

Formal Methods for Software Engineering

Formal Methods for Software Engineering
Author :
Publisher : Springer Nature
Total Pages : 538
Release :
ISBN-10 : 9783030388003
ISBN-13 : 303038800X
Rating : 4/5 (03 Downloads)

Synopsis Formal Methods for Software Engineering by : Markus Roggenbach

Software programs are formal entities with precise meanings independent of their programmers, so the transition from ideas to programs necessarily involves a formalisation at some point. The first part of this graduate-level introduction to formal methods develops an understanding of what constitutes formal methods and what their place is in Software Engineering. It also introduces logics as languages to describe reasoning and the process algebra CSP as a language to represent behaviours. The second part offers specification and testing methods for formal development of software, based on the modelling languages CASL and UML. The third part takes the reader into the application domains of normative documents, human machine interfaces, and security. Use of notations and formalisms is uniform throughout the book. Topics and features: Explains foundations, and introduces specification, verification, and testing methods Explores various application domains Presents realistic and practical examples, illustrating concepts Brings together contributions from highly experienced educators and researchers Offers modelling and analysis methods for formal development of software Suitable for graduate and undergraduate courses in software engineering, this uniquely practical textbook will also be of value to students in informatics, as well as to scientists and practical engineers, who want to learn about or work more effectively with formal theories and methods. Markus Roggenbach is a Professor in the Dept. of Computer Science of Swansea University. Antonio Cerone is an Associate Professor in the Dept. of Computer Science of Nazarbayev University, Nur-Sultan. Bernd-Holger Schlingloff is a Professor in the Institut für Informatik of Humboldt-Universität zu Berlin. Gerardo Schneider is a Professor in the Dept. of Computer Science and Engineering of University of Gothenburg. Siraj Ahmed Shaikh is a Professor in the Institute for Future Transport and Cities of Coventry University. The companion site for the book offers additional resources, including further material for selected chapters, prepared lab classes, a list of errata, slides and teaching material, and virtual machines with preinstalled tools and resources for hands-on experience with examples from the book. The URL is: https://sefm-book.github.io

Formal Methods and Software Engineering

Formal Methods and Software Engineering
Author :
Publisher : Springer
Total Pages : 723
Release :
ISBN-10 : 9783642169014
ISBN-13 : 3642169015
Rating : 4/5 (14 Downloads)

Synopsis Formal Methods and Software Engineering by : Jin Song Dong

This book constitutes the refereed proceedings of the 12th InternationalConference on Formal Engineering Methods, ICFEM 2010, held in Shanghai, China,November 2010. The 42 revised full papers together with 3 invited talks presented were carefully reviewed and selected from 114 submissions. The papers address all current issues in formal methods and their applications in software engineering. They are organized in topical sections on theorem proving and decision procedures, web services and workflow, verification, applications of formal methods, probability and concurrency, program analysis, model checking, object orientation and model driven engineering, as well as specification and verification.