Deductive Software Verification – The KeY Book

From Theory to Practice

  • Wolfgang Ahrendt
  • Bernhard Beckert
  • Richard Bubel
  • Reiner Hähnle
  • Peter H. Schmitt
  • Mattias Ulbrich

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

Also part of the Programming and Software Engineering book sub series (LNPSE, volume 10001)

Table of contents

  1. Front Matter
    Pages I-XXXII
  2. Reiner Hähnle
    Pages 1-19
  3. Foundations

    1. Front Matter
      Pages 21-21
    2. Peter H. Schmitt
      Pages 23-47
    3. Bernhard Beckert, Vladimir Klebanov, Benjamin Weiß
      Pages 49-106
    4. Philipp Rümmer, Mattias Ulbrich
      Pages 107-147
    5. Peter H. Schmitt, Richard Bubel
      Pages 149-166
    6. Nathan Wasser, Reiner Hähnle, Richard Bubel
      Pages 167-189
  4. Specification and Verification

    1. Front Matter
      Pages 191-191
    2. Marieke Huisman, Wolfgang Ahrendt, Daniel Grahl, Martin Hentschel
      Pages 193-241
    3. Daniel Grahl, Mattias Ulbrich
      Pages 243-287
    4. Daniel Grahl, Richard Bubel, Wojciech Mostowski, Peter H. Schmitt, Mattias Ulbrich, Benjamin Weiß
      Pages 289-351
    5. Wojciech Mostowski
      Pages 353-380
  5. From Verification to Analysis

    1. Front Matter
      Pages 381-381
    2. Martin Hentschel, Reiner Hähnle, Richard Bubel
      Pages 383-413
    3. Wolfgang Ahrendt, Christoph Gladisch, Mihai Herda
      Pages 415-451
    4. Christoph Scheben, Simon Greiner
      Pages 453-471
    5. Ran Ji, Richard Bubel
      Pages 473-492
  6. The KeY System in Action

    1. Front Matter
      Pages 493-493
    2. Wolfgang Ahrendt, Sarah Grebing
      Pages 495-539
    3. Bernhard Beckert, Reiner Hähnle, Martin Hentschel, Peter H. Schmitt
      Pages 541-570
    4. Richard Bubel, Reiner Hähnle
      Pages 571-589
  7. Case Studies

    1. Front Matter
      Pages 591-591
    2. Stijn de Gouw, Frank S. de Boer, Jurriaan Rot
      Pages 609-618
  8. Back Matter
    Pages 619-702

About this book


Static analysis of software with deductive methods is a highly dynamic field of research on the verge of becoming a mainstream technology in software engineering. It consists of a large portfolio of - mostly fully automated - analyses: formal verification, test generation, security  analysis, visualization, and debugging. All of them are realized in the state-of-art deductive verification framework KeY.
This book is the definitive guide to KeY that lets you explore the full potential of deductive software verification in practice. It contains the complete theory behind KeY for active researchers who want to understand it in depth or use it in their own work. But the book also features fully self-contained chapters on the Java Modeling Language and on Using KeY that require nothing else than familiarity with Java. All other chapters are accessible for graduate students (M.Sc. level and beyond).
The KeY framework is free and open software, downloadable from the book companion website which contains also all code examples mentioned in this book.


deductive verification first-order logic formal methods semantic constraints software development case studies compilation debugging tool formal software analysis formal specification formal verification integer semantics partial evaluation program transformation programming language specification language symbolic execution test case generation visualization

Editors and affiliations

  • Wolfgang Ahrendt
    • 1
  • Bernhard Beckert
    • 2
  • Richard Bubel
    • 3
  • Reiner Hähnle
    • 4
  • Peter H. Schmitt
    • 5
  • Mattias Ulbrich
    • 6
  1. 1.Chalmers University of TechnologyGothenburgSweden
  2. 2.Karlsruhe Institute of Technology (KIT)KarlsruheGermany
  3. 3.Technische Universität DarmstadtDarmstadtGermany
  4. 4.Technische Universität DarmstadtDarmstadtGermany
  5. 5.Karlsruher Institut für Technologie (KIT)KarlsruheGermany
  6. 6.Karlsruher Institut für Technologie (KIT)KarlsruheGermany

Bibliographic information