Verification of Object-Oriented Software. The KeY Approach [electronic resource] :Foreword by K. Rustan M. Leino / edited by Bernhard Beckert, Reiner Hähnle, Peter H. Schmitt.
by Beckert, Bernhard [editor.]; Hähnle, Reiner [editor.]; Schmitt, Peter H [editor.]; SpringerLink (Online service).
Material type:
Item type | Current location | Call number | Status | Date due | Barcode |
---|---|---|---|---|---|
TJ210.2-211.495 (Browse shelf) | Available | ||||
Long Loan | MAIN LIBRARY | Q334-342 (Browse shelf) | Available |
Browsing MAIN LIBRARY Shelves Close shelf browser
TK7800-8360 Sensors | RS400-431 Tubulin-Binding Agents | Q334-342 New Frontiers in Applied Artificial Intelligence | Q334-342 Verification of Object-Oriented Software. The KeY Approach | TA329-348 Fuzzy Implications | TK5105.5-5105.9 Critical Information Infrastructures Security | QA75.5-76.95 Membrane Computing |
A New Look at Formal Methods for Software Construction -- A New Look at Formal Methods for Software Construction -- I: Foundations -- First-Order Logic -- Dynamic Logic -- Construction of Proofs -- II: Expressing and Formalising Requirements -- Formal Specification -- Pattern-Driven Formal Specification -- Natural Language Specifications -- Proof Obligations -- From Sequential Java to Java Card -- III: Using the KeY System -- Using KeY -- Proving by Induction -- Java Integers -- Proof Reuse -- IV: Case Studies -- The Demoney Case Study -- The Schorr-Waite-Algorithm -- Appendices -- Predefined Operators in Java Card DL -- The KeY Syntax.
The ultimate goal of program verification is not the theory behind the tools or the tools themselves, but the application of the theory and tools in the software engineering process. Our society relies on the correctness of a vast and growing amount of software. Improving the software engineering process is an important, long-term goal with many steps. Two of those steps are the KeY tool and this KeY book. The material is presented on an advanced level suitable for graduate courses and, of course, active researchers with an interest in verification. The underlying verification paradigm is deductive verification in an expressive program logic. The logic used for reasoning about programs is not a minimalist version suitable for theoretical investigations, but an industrial-strength version. The first-order part is equipped with a type system for modelling of object hierarchies, with underspecification, and with various built-in theories. The program logic covers full Java Card (plus a bit more such as multi-dimensional arrays, characters, and long integers). A lot of emphasis is thereby put on specification, including two widely-used object-oriented specification languages (OCL and JML) and even an interface to natural language generation. The generation of proof obligations from specified code is discussed at length. The book is rounded off by two substantial case studies that are included and presented in detail.
There are no comments for this item.