Skip to main content
Book cover

Verification of Object-Oriented Software. The KeY Approach

Foreword by K. Rustan M. Leino

  • Book
  • © 2007

Overview

Part of the book series: Lecture Notes in Computer Science (LNCS, volume 4334)

Part of the book sub series: Lecture Notes in Artificial Intelligence (LNAI)

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (17 chapters)

  1. A New Look at Formal Methods for Software Construction

  2. Part I: Foundations

  3. Part II: Expressing and Formalising Requirements

  4. Part III: Using the KeY System

  5. Part IV: Case Studies

Keywords

About this book

Long gone are the days when program veri?cation was a task carried out merely by hand with paper and pen. For one, we are increasingly interested in proving actual program artifacts, not just abstractions thereof or core algorithms. The programs we want to verify today are thus longer, including whole classes and modules. As we consider larger programs, the number of cases to be considered in a proof increases. The creative and insightful parts of a proof can easily be lost in scores of mundane cases. Another problem with paper-and-pen proofs is that the features of the programming languages we employ in these programs are plentiful, including object-oriented organizations of data, facilities for specifying di?erent c- trol ?ow for rare situations, constructs for iterating over the elements of a collection, and the grouping together of operations into atomic transactions. These language features were designed to facilitate simpler and more natural encodings of programs, and ideally they are accompanied by simpler proof rules. But the variety and increased number of these features make it harder to remember all that needs to be proved about their uses. As a third problem, we have come to expect a higher degree of rigor from our proofs. A proof carried out or replayed by a machine somehow gets more credibility than one that requires human intellect to understand.

Reviews

From the reviews:

"This book is a collection of work by different authors on software verification. The context of the book is the key project, which aims to build a verification of the systems based on model checking. The book features the widely used specification languages: object constraint language (OCL) and Java modeling language (JML). … this book is a good resource for graduate students and researchers … ." (S. Balaraman, Computing Reviews, December, 2007)

Bibliographic Information

Publish with us