Modular Specification and Verification of Object-Oriented Programs


Book Description

Software systems play an increasingly important role in modern societies. Smart cards for personal identi?cation, e-banking, software-controlled me- cal tools, airbags in cars, and autopilots for aircraft control are only some examples that illustrate how everyday life depends on the good behavior of software. Consequently, techniques and methods for the development of hi- quality, dependable software systems are a central research topic in computer science. A fundamental approach to this area is to use formal speci?cation and veri?cation. Speci?cation languages allow one to describe the crucial p- perties of software systems in an abstract, mathematically precise, and implementation-independent way. By formal veri?cation, one can then prove that an implementation really has the desired, speci?ed properties. Although this formal methods approach has been a research topic for more than 30 years, its practical success is still restricted to domains in which devel- ment costs are of minor importance. Two aspects are crucial to widen the application area of formal methods: – Formal speci?cation techniques have to be smoothly integrated into the software and program development process. – The techniques have to be applicable to reusable software components. This way, the quality gain can be exploited for more than one system, thereby justifying the higher development costs. Starting from these considerations, Peter Muller ̈ has developed new te- niques for the formal speci?cation and veri?cation of object-oriented so- ware. The speci?cation techniques are declarative and implementati- independent. They can be used for object-oriented design and programming.










Algebraic Specification Techniques in Object Oriented Programming Environments


Book Description

The main aim of this monograph is to provide a framework for the integrated design of object-oriented programs with algebraic specification techniques. The design method pursued relies fundamentally on the structuring of systems based on the notion of data types. Depending on the level of abstraction, data types are described in an object-oriented way by algebraic specifications or by machine-executable object-oriented programs. The treatment involves two main aspects. First, object-oriented programs have to be related by a notion of correctness that models the transition from specifications to program implementations. The author presents a notion of correctness which relies on the idea of abstraction functions. Second, in order to obtain an integrated design environment, a uniform structuring concept for object oriented programs and algebraic specifications has to be provided. Inheritance, subtyping and clientship are three central notions of object-oriented structuring. Theauthor uses them to develop the kernel of a typed object- oriented programming language. The monograph provides the formal foundation for a unified framework of algebraic specifications and object-oriented programs. A major guideline is the development of a design method supporting the structured design and reuse of software in this environment.







Reliable Software Technologies -- Ada-Europe 2003


Book Description

The refereed proceedings of the 8th International Conference on Reliable Software Technologies, Ada-Europe 2003, held in Toulouse, France in June 2003. The 29 revised full papers presented together with 3 invited papers were carefully reviewed and selected from numerous submissions. The papers are organized in topical sections on Ravenscar, language issues, static analysis, distributed information systems, software metrics, software components, formal specification, real-time kernel, software testing, and real-time systems design.




Software System Reliability and Security


Book Description

To make communication and computation secure against catastrophic failure and malicious interference, it is essential to build secure software systems and methods for their development. This book describes the ideas on how to meet these challenges in software engineering.




Object-Oriented Behavioral Specifications


Book Description

Object-Oriented Behavioral Specifications encourages builders of complex information systems to accelerate their move to using the approach of a scientific discipline in analysis rather than the approach of a craft. The focus is on understanding customers' needs and on precise specification of understanding gained through analysis. Specifications must bridge any gaps in understanding about business rules among customers, Subject Matter Experts, and `computer people', must inform decisions about reuse of software and systems, and must enable review of semantics over time. Specifications need to describe semantics rather than syntax, and to do that in an abstract and precise manner, in order to create software systems that satisfy business rules. The papers in this book show various ways of designing elegant and clear specifications which are reusable, lead to savings of intellectual effort, time, and money, and which contribute to the reliability of software and systems. Object-Oriented Behavioral Specifications offers a fresh treatment of the object-oriented paradigm by examining the limitations of traditional OO methodologies and by describing the significance of competing trends in OO modeling. The book builds on four years of successful OOPSLA workshops (1991-1995) on behavior semantics. This book deals with precise specifications of `what' is accomplished by the business and `what' is to be done by a system. The book includes descriptions of successful use of abstract and precise specification in industry. It draws on the experience of experts from industrial and academic settings and benefits from international participation. Collective behavior, neglected in some treatment of the OO paradigm, is addressed explicitly in this book. The book does not take `reuse' of specifications or software for granted, but furnishes a foundation for taking as rigorous an approach to reuse decisions as to precise specifications in original developments.





Book Description




The Logic of Software. A Tasting Menu of Formal Methods


Book Description

This Festschrift, dedicated to Reiner Hähnle on the occasion of his 60th birthday, contains papers written by many of his closest collaborators. After positions at Karlsruhe Institute of Technology and Chalmers University of Technology, since 2011 Reiner has been the chaired professor of Software Engineering at Technische Universität Darmstadt, where his team focuses on the formal verification of object-oriented software, the formal modeling and specification of highly adaptive software systems, and formal modeling and analysis in domains such as biological systems and railroad operations. His work is characterized by achievements in theory and in practical implementations, significant collaborations include the KeY project and the development of the ABS language. He has served as chair and editor of important related academic conferences, and coauthored almost 200 academic publications. The contributions in this volume reflect Reiner’s main research focus: formal methods, in particular applied to software verification.