Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12345))

Abstract

This paper describes the story of the first nine years of the KeY project, its original goals, the people involved, its setbacks, but also its occasional failures and blind alleys. It is deliberately written in a more personal style, but tries to meet scientific standards of correctness and completeness.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Reiner had moved to Gothenburg in January of 2000.

  2. 2.

    The Lisbon conference was the last UML conference; from 2005 on the series was called MODELS.

References

  1. Ahrendt, W.: Deduktive Fehlersuche in abstrakten Datentypen. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2001)

    Google Scholar 

  2. Ahrendt, W., et al.: The KeY approach: integrating object oriented design and formal verification. Technical report 2000/4, University of Karlsruhe, Department of Computer Science, January 2000

    Google Scholar 

  3. Ahrendt, W., Beckert, B., Bubel, R., Hähnle, R., Schmitt, P.H., Ulbrich, M. (eds.): Deductive Software Verification - The KeY Book - From Theory to Practice. Lecture Notes in Computer Science, vol. 10001. Springer, Heidelberg (2016)

    Google Scholar 

  4. Ahrendt, W., et al.: Integration of automated and interactive theorem proving. In: Bibel, W., Schmitt, P. (eds.) Automated Deduction – A Basis for Applications, volume I, 3. Kluwer (1998)

    Google Scholar 

  5. Baar, T.: Über die Semantikbeschreibung OCL-artiger Sprachen. Ph.D. thesis, Karlsruhe Institute of Technology (2003)

    Google Scholar 

  6. Baar, T., Hähnle, R., Sattler, T., Schmitt, P.H.: Entwurfsmustergesteuerte Erzeugung von OCL-Constraints. In: Mehlhorn, K., Snelting, G. (eds.) Informatik 2000, pp. 389–404. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-642-58322-3_30

    Chapter  Google Scholar 

  7. Barthe, G., D’Argenio, P.R., Rezk, T.: Secure information flow by self-composition. In: 17th IEEE Computer Security Foundations Workshop, (CSFW-17 2004), 28–30 June 2004, Pacific Grove, CA, USA, pp. 100–114. IEEE Computer Society (2004)

    Google Scholar 

  8. Beckert, B.: Integration und Uniformierung von Methoden des tableaubasierten Theorembeweisens. Ph.D. thesis, Karlsruhe Institute of Technology (1998)

    Google Scholar 

  9. Beckert, B., Giese, M., Habermalz, E., Hähnle, R., Roth, A., Rümmer, P., Schlager, S.: Taclets: a new paradigm for constructing interactive theorem provers. Revista de la Real Academia de Ciencias Exactas, Físicas y Naturales, Serie A: Matemáticas 98(1), 17–53 (2004). Special Issue on Symbolic Computation in Logic and Artificial Intelligence

    Google Scholar 

  10. Beckert, B., Hähnle, R.: Reasoning and verification: State of the art and current trends. IEEE Intell. Syst. 29(1), 20–29 (2014)

    Article  Google Scholar 

  11. Beckert, B., Hähnle, R., Schmitt, P.H. (eds.): Verification of Object-Oriented Software. The KeY Approach. LNCS (LNAI), vol. 4334. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-69061-0

    Book  Google Scholar 

  12. Bibel, W.: DFG-Schwerpunktprogramm “Deduktion”. KI 12(4), 38–40 (1998)

    Google Scholar 

  13. Bibel, W., Schmitt, P.H. (eds.) Automated Deduction - A Basis for Applications. Vol. I. Foundations - Calculi and Methods. Vol II. Systems and Implementation Techniques. Vol. III. Applications, vols. 8, 9, 10 of Applied Logic Series. Kluwer Academic Publishers (1998)

    Google Scholar 

  14. Borland. Together Control Center. https://www.microfocus.com/de-de/products/together/overview

  15. Brucker, A.D., et al.: Report on the Aachen OCL meeting (2013). http://ceur-ws.org/Vol-1092/aachen.pdf

  16. Darvas, A., Hähnle, R., Sands, D.: A theorem proving approach to analysis of secure information flow. In: Gorrieri, R. (ed.) Workshop on Issues in the Theory of Security, WITS. IFIP WG 1.7, ACM SIGPLAN and GI FoMSESS (2003)

    Google Scholar 

  17. Darvas, Á., Hähnle, R., Sands, D.: A theorem proving approach to analysis of secure information flow. In: Hutter, D., Ullmann, M. (eds.) SPC 2005. LNCS, vol. 3450, pp. 193–209. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-32004-3_20

    Chapter  Google Scholar 

  18. de Gouw, S., de Boer, F.S., Bubel, R., Hähnle, R., Rot, J., Steinhöfel, D.: Verifying Openjdk’s sort method for generic collections. J. Autom. Reason. 62(1), 93–126 (2017)

    Article  MathSciNet  Google Scholar 

  19. Engel, C., Roth, A., Schmitt, P.H., Weiß, B.: Verification of modifies clauses in dynamic logic with non-rigid functions. Technical report 2009-9, Department of Informatics, Karlsruhe Institute of Technology (2009)

    Google Scholar 

  20. Fowler, M., Scott, K.: UML konzentriert - die Standardobjektmodellierungssprache anwenden: mit neuester Version UML 1.1. Addison-Wesley-Longman (1998)

    Google Scholar 

  21. Fujita, H., Hasegawa, R.: A model generation theorem prover in KL1 using a ramified -stack algorithm. In: Furukawa, K. (ed.) Proceedings of the Eighth International Conference on Logic Programming, Paris, France, 24–28 June 1991, pp. 535–548. MIT Press (1991)

    Google Scholar 

  22. Giese, M.: Incremental closure of free variable tableaux. In: Goré, R., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNCS, vol. 2083, pp. 545–560. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45744-5_46

    Chapter  Google Scholar 

  23. Giese, M.: Proof search without backtracking for free variable tableaux. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2002)

    Google Scholar 

  24. Giese, M.: Simplification rules for constrained formula tableaux. In: Cialdea Mayer, M., Pirri, F. (eds.) TABLEAUX 2003. LNCS (LNAI), vol. 2796, pp. 65–80. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45206-5_8

    Chapter  MATH  Google Scholar 

  25. Giese, M.: Taclets and the key prover. Electr. Notes Theor. Comput. Sci. 103, 67–79 (2004)

    Article  Google Scholar 

  26. Greiner, S.: A framework for non-interference in component-based systems. Ph.D. thesis, Karlsruhe Institute of Technology, April 2018

    Google Scholar 

  27. Habermalz, E.: Ein dynamisches automatisierbares interaktives Kalkül für schematische theoriespezifische Regeln. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2001)

    Google Scholar 

  28. Hähnle, R., Hasegawa, R., Shirai, Y.: Model generation theorem proving with finite interval constraints. In: Lloyd, J., et al. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 285–299. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44957-4_19

    Chapter  Google Scholar 

  29. Hähnle, R., Heisel, M., Reif, W., Stephan, W.: An interactive verification system based on dynamic logic. In: Siekmann, J.H. (ed.) CADE 1986. LNCS, vol. 230, pp. 306–315. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-16780-3_99

    Chapter  Google Scholar 

  30. Hähnle, R., Huisman, M.: Deductive software verification: from pen-and-paper proofs to industrial tools. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science. LNCS, vol. 10000, pp. 345–373. Springer, Cham (2019). https://doi.org/10.1007/978-3-319-91908-9_18

    Chapter  Google Scholar 

  31. Hähnle, R., Johannisson, K., Ranta, A.: An authoring tool for informal and formal requirements specifications. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 233–248. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45923-5_16

    Chapter  Google Scholar 

  32. Hähnle, R., Menzel, W., Schmitt, P.H.: Integrierter deduktiver Software-Entwurf. KI 98(4), 40–41 (1998). In German

    Google Scholar 

  33. Harel, D.: First-Order Dynamic Logic. Lecture Notes in Computer Science, vol. 68. Springer, Heidelberg (1979). https://doi.org/10.1007/3-540-09237-4

    Book  MATH  Google Scholar 

  34. Huisman, M.: Reasoning about Java programs in higher order logic using PVS and Isabelle. IPA dissertation series, vol. 3, IPA (2001)

    Google Scholar 

  35. Huisman, M., Jacobs, B.: Java program verification via a Hoare logic with abrupt termination. In: Maibaum, T. (ed.) FASE 2000. LNCS, vol. 1783, pp. 284–303. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-46428-X_20

    Chapter  Google Scholar 

  36. Jacobs, B., Meijer, H., Poll, E.: Verificard: a European project for smart card verification. Newslett. Dutch Assoc. Theor. Comput. Sci. 2001, 32–38 (2001)

    Google Scholar 

  37. Javacard pro, open source smart card specialist

    Google Scholar 

  38. Johannisson, K.: Formal and informal software specifications. Ph.D. thesis, Department of Computing Science, Chalmers University of Technology and Gothenburg University (2005)

    Google Scholar 

  39. List of key symposia. https://www.key-project.org/key-symposium

  40. Le Goues, C., Leino, K.R.M., Moskal, M.: The boogie verification debugger (tool paper). In: Barthe, G., Pardo, A., Schneider, G. (eds.) SEFM 2011. LNCS, vol. 7041, pp. 407–414. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24690-6_28

    Chapter  Google Scholar 

  41. MODELS. 19th International Workshop in OCL and Textual Modeling. https://oclworkshop.github.io/2019/cfp.html

  42. Mostowski, W.: A case study in formal verification using multiple explicit heaps. In: Beyer, D., Boreale, M. (eds.) FMOODS/FORTE -2013. LNCS, vol. 7892, pp. 20–34. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38592-6_3

    Chapter  Google Scholar 

  43. OMG. About the object constraint language specification version 2.4, February 2014. https://www.omg.org/spec/OCL

  44. Poetzsch-Heffter, A., Müller, P.: Logical foundations for typed object-oriented languages. In: Gries, D., de Roever, W.P. (eds.) Programming Concepts and Methods, IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods (PROCOMET 1998), Shelter Island, New York, USA, 8–12 June 1998. IFIP Conference Proceedings, vol. 125, pp. 404–423. Chapman & Hall (1998)

    Google Scholar 

  45. Poetzsch-Heffter, A., Müller, P.: A programming logic for sequential Java. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576, pp. 162–176. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-49099-X_11

    Chapter  Google Scholar 

  46. Ranta, A.: Grammatical Framework: Programming with Multilingual Grammars. CSLI Publications, Stanford (2011). 1-57586, ISBN-10: 1-57586-626-9 (Paper)-627-7 (Cloth)

    Google Scholar 

  47. Ranta, A.: Translating between language and logic: what is easy and what is difficult. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS (LNAI), vol. 6803, pp. 5–25. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22438-6_3

    Chapter  Google Scholar 

  48. The impact of java card technology yesterday and tomorrow: Safran identity & security celebrates 20 years with the java card forum. Press Release (2016)

    Google Scholar 

  49. Scheben, C.: Program-level specification and deductive verification of security properties. Ph.D. thesis, Karlsruhe Institute of Technology (2014)

    Google Scholar 

  50. Schellhorn, G., Ahrendt, W.: Reasoning about abstract state machines: the WAM case study. J. UCS 3(4), 377–413 (1997)

    MathSciNet  MATH  Google Scholar 

  51. Schmitt, P.H.: Diamond formulas: a fragment of dynamic logic with recursively enumerable validity problem. Inf. Control 61(2), 147–158 (1984)

    Article  MathSciNet  Google Scholar 

  52. Stärk, R.F., Schmid, J., Börger, E.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001). https://doi.org/10.1007/978-3-642-59495-3

    Book  MATH  Google Scholar 

  53. Stenzel, K.: Verification of java card programs. Technical report 2001-5, Institut für Informatik, Universität Augsburg (2001)

    Google Scholar 

  54. http://www.envisage-project.eu/proving-android-java-and-python-sorting-algorithm-is-broken-and-how-to-fix-it/

  55. Ulbrich, M.: Dynamic logic for an intermediate language: verification, interaction and refinement. Ph.D. thesis, Karlsruhe Institute of Technology, June 2013

    Google Scholar 

  56. van den Berg, J., Huisman, M., Jacobs, B., Poll, E.: A type-theoretic memory model for verification of sequential Java programs. In: Bert, D., Choppy, C., Mosses, P.D. (eds.) WADT 1999. LNCS, vol. 1827, pp. 1–21. Springer, Heidelberg (2000). https://doi.org/10.1007/978-3-540-44616-3_1

    Chapter  Google Scholar 

  57. von Oheimb, D., Nipkow, T.: Machine-checking the Java specification: proving type-safety. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 119–156. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48737-9_4

    Chapter  Google Scholar 

  58. The Why3 platform. http://why3.lri.fr/

Download references

Acknowledgments

Many thanks go to Reiner Hähnle for his valuable and comprehensive comments on a first draft. I am much indebted to Wojciech Mostowski for filling me in with the recent developments of Java Card. Bernhard Beckert discovered numerous smaller mistakes and suggested a more systematic coverage of the dissertations written within the KeY context. Marieke Huisman corrected my false account on the funding of the LOOP project; She also made me add further explanations where the original text could only be understood by the inner circle of the KeY project. Jonas Schiffl helped me with his painstaking scrutiny of spelling and punctuation. It was a great pleasure that Erik Rosenthal agreed to improve style and clarity of the original text.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter H. Schmitt .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Schmitt, P.H. (2020). A Short History of KeY. In: Ahrendt, W., Beckert, B., Bubel, R., Hähnle, R., Ulbrich, M. (eds) Deductive Software Verification: Future Perspectives. Lecture Notes in Computer Science(), vol 12345. Springer, Cham. https://doi.org/10.1007/978-3-030-64354-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-64354-6_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-64353-9

  • Online ISBN: 978-3-030-64354-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics