Java Software Development with Event B - Néstor Cataño Collazos

Java Software Development with Event B

A Practical Guide
Buch | Softcover
99 Seiten
2020
Morgan & Claypool Publishers (Verlag)
978-1-68173-687-7 (ISBN)
47,30 inkl. MwSt
Formal methods offer a range of mathematical techniques and mathematical tools to validate software requirements in the early stages of software development. This book is a living proof of the use of formal methods to develop software. The particular formalisms used are EVENT B and refinement calculus.
The cost of fixing software design flaws after the completion of a software product is so high that it is vital to come up with ways to detect software design flaws in the early stages of software development, for instance, during the software requirements, the analysis activity, or during software design, before coding starts.

It is not uncommon that software requirements are ambiguous or contradict each other. Ambiguity is exacerbated by the fact that software requirements are typically written in a natural language, which is not tied to any formal semantics. A palliative to the ambiguity of software requirements is to restrict their syntax to boilerplates, textual templates with placeholders. However, as informal requirements do not enjoy any particular semantics, no essential properties about them (or about the system they attempt to describe) can be proven easily. Formal methods are an alternative to address this problem. They offer a range of mathematical techniques and mathematical tools to validate software requirements in the early stages of software development.

This book is a living proof of the use of formal methods to develop software. The particular formalisms that we use are EVENT B and refinement calculus. In short: (i) software requirements as written as User Stories; (ii) they are ported to formal specifications; (iii) they are refined as desired; (iv) they are implemented in the form of a prototype; and finally (v) they are tested for inconsistencies. If some unit-test fails, then informal as well as formal specifications of the software system are revisited and evolved.

This book presents a case study of software development of a chat system with EVENT B and a case study of formal proof of properties of a social network.

Nestor Catano Collazos is a software engineer, computer scientist, and enthusiastic formal methods tool developer. His main research area is the use of formal methods for software engineering. Nestor specializes in program specification and verification using JML and design-by-contract, and in a formal method called EVENT B. His main goal is to build Formal Methods tools that increase people's trust in the correct behavior of Software Systems. His main tool contributions are the design and implementation of the EVENTB2JAVA and EVENTB2JML code generators, the design and implementation of the EVENTB2DAFNY Proof Obligation generator, and the design and implementation of the Chase syntactic checker of JML's assignable clause. Nestor's research work with EVENTB2DAFNY was funded by Microsoft Research through the SEIF program in 2011. He has worked in academia since 2004 and regularly teaches software engineering, formal methods, and programming courses to graduate and undergraduate students.Dr. Collazos earned a Master Degree and a Ph.D. in Computer Science from The University Paris 7. He is currently taking part in the Master in Information and Cybersecurity at UC Berkeley. Luciano Baresi is a full professor at the Politecnico di Milano, where he earned both his Masters degree and PhD in computer science. Luciano was visiting professor at University of Oregon (USA) and visiting researcher at University of Paderborn (Germany). He has been program chair for ICECCS, FASE, ICWE, ICSOC, SEAMS and ESEC/FSE, and general chair for WICSA/CompArch (now ICSA). He is member of the editorial board of ACM Transactions on Autonomous and Adaptive Systems, IEEE Transactions on Software Engineering, and of IEEE Transactions on Service Computing. Luciano has co-authored more than 130 papers. His work has been cited over 6500 times and his Google Scholar h-index is 41. His research interests are in the broad area of software engineering, with a current focus on distributed systems, service-based applications, and the different aspects of mobile, self-adaptive, and pervasive software systems.

Introduction
An Overview of Event B
Software Development of a Chat System with Event B
The Poporo Social Network
Conclusion
Bibliography
Author's Biography

Erscheinungsdatum
Reihe/Serie Synthesis Lectures on Software Engineering
Mitarbeit Herausgeber (Serie): Luciano Baresi
Verlagsort San Rafael
Sprache englisch
Maße 191 x 235 mm
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Software Entwicklung
Mathematik / Informatik Informatik Theorie / Studium
ISBN-10 1-68173-687-X / 168173687X
ISBN-13 978-1-68173-687-7 / 9781681736877
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90