Modular Verification of Object-oriented Programs with Subtypes


Book Description

Specifications of polymorphic functions are written by allowing instances of subtypes as arguments. Restrictions on the way that abstract types are specified ensure that such function specifications are meaningful and do not have to be rewritten when new subtypes are specified. Verification consists of showing that the specified relation among types has certain semantic properties, that each expression's value is an instance of a subtype of the expression's type, and a proof of correctness that ignores subtyping."




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.










Formal Verification of Object-Oriented Software


Book Description

This book presents the thoroughly refereed post-conference proceedings of the International Conference on Formal Verification of Object-Oriented Software, FoVeOOS 2010, held in Paris, France, in June 2010 - organised by COST Action IC0701. The 11 revised full papers presented together with 2 invited talks were carefully reviewed and selected from 21 submissions. Formal software verification has outgrown the area of academic case studies, and industry is showing serious interest. The logical next goal is the verification of industrial software products. Most programming languages used in industrial practice are object-oriented, e.g. Java, C++, or C#. FoVeOOS 2010 aimed to foster collaboration and interactions among researchers in this area.




Reasoning about Object-oriented Programs that Use Subtypes


Book Description

Abstract: "Programmers informally reason about object-oriented programs by using subtype relationships to classify the behavior of objects of different types and by letting supertypes stand for all their subtypes. We describe formal specification and verification techniques for such programs that mimic these informal ideas. Our techniques are modular and extend standard techniques for reasoning about programs that use abstract data types. Semantic restrictions on subtype relationships guarantee the soundness of these techniques."




ZUM '95: The Z Formal Specification Notation


Book Description

This book presents the proceedings of the 9th International Conference of Z Users, ZUM '95, held in Limerick, Ireland in September 1995. The book contains 34 carefully selected papers on Z, using Z, applications of Z, proof, testing, industrial usage, object orientation, animation of specification, method integration, and teaching formal methods. Of particular interest is the inclusion of an annotated Z bibliography listing 544 entries. While focussing on Z, by far the most commonly used "formal method" both in industry and application, the volume is of high relevance for the whole formal methods community.




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.




ACM SIGPLAN Notices


Book Description