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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Reiner had moved to Gothenburg in January of 2000.
- 2.
The Lisbon conference was the last UML conference; from 2005 on the series was called MODELS.
References
Ahrendt, W.: Deduktive Fehlersuche in abstrakten Datentypen. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2001)
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
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)
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)
Baar, T.: Über die Semantikbeschreibung OCL-artiger Sprachen. Ph.D. thesis, Karlsruhe Institute of Technology (2003)
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
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)
Beckert, B.: Integration und Uniformierung von Methoden des tableaubasierten Theorembeweisens. Ph.D. thesis, Karlsruhe Institute of Technology (1998)
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
Beckert, B., Hähnle, R.: Reasoning and verification: State of the art and current trends. IEEE Intell. Syst. 29(1), 20–29 (2014)
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
Bibel, W.: DFG-Schwerpunktprogramm “Deduktion”. KI 12(4), 38–40 (1998)
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)
Borland. Together Control Center. https://www.microfocus.com/de-de/products/together/overview
Brucker, A.D., et al.: Report on the Aachen OCL meeting (2013). http://ceur-ws.org/Vol-1092/aachen.pdf
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)
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
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)
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)
Fowler, M., Scott, K.: UML konzentriert - die Standardobjektmodellierungssprache anwenden: mit neuester Version UML 1.1. Addison-Wesley-Longman (1998)
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)
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
Giese, M.: Proof search without backtracking for free variable tableaux. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2002)
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
Giese, M.: Taclets and the key prover. Electr. Notes Theor. Comput. Sci. 103, 67–79 (2004)
Greiner, S.: A framework for non-interference in component-based systems. Ph.D. thesis, Karlsruhe Institute of Technology, April 2018
Habermalz, E.: Ein dynamisches automatisierbares interaktives Kalkül für schematische theoriespezifische Regeln. Ph.D. thesis, Karlsruhe Institute of Technology, Germany (2001)
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
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
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
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
Hähnle, R., Menzel, W., Schmitt, P.H.: Integrierter deduktiver Software-Entwurf. KI 98(4), 40–41 (1998). In German
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
Huisman, M.: Reasoning about Java programs in higher order logic using PVS and Isabelle. IPA dissertation series, vol. 3, IPA (2001)
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
Jacobs, B., Meijer, H., Poll, E.: Verificard: a European project for smart card verification. Newslett. Dutch Assoc. Theor. Comput. Sci. 2001, 32–38 (2001)
Javacard pro, open source smart card specialist
Johannisson, K.: Formal and informal software specifications. Ph.D. thesis, Department of Computing Science, Chalmers University of Technology and Gothenburg University (2005)
List of key symposia. https://www.key-project.org/key-symposium
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
MODELS. 19th International Workshop in OCL and Textual Modeling. https://oclworkshop.github.io/2019/cfp.html
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
OMG. About the object constraint language specification version 2.4, February 2014. https://www.omg.org/spec/OCL
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)
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
Ranta, A.: Grammatical Framework: Programming with Multilingual Grammars. CSLI Publications, Stanford (2011). 1-57586, ISBN-10: 1-57586-626-9 (Paper)-627-7 (Cloth)
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
The impact of java card technology yesterday and tomorrow: Safran identity & security celebrates 20 years with the java card forum. Press Release (2016)
Scheben, C.: Program-level specification and deductive verification of security properties. Ph.D. thesis, Karlsruhe Institute of Technology (2014)
Schellhorn, G., Ahrendt, W.: Reasoning about abstract state machines: the WAM case study. J. UCS 3(4), 377–413 (1997)
Schmitt, P.H.: Diamond formulas: a fragment of dynamic logic with recursively enumerable validity problem. Inf. Control 61(2), 147–158 (1984)
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
Stenzel, K.: Verification of java card programs. Technical report 2001-5, Institut für Informatik, Universität Augsburg (2001)
Ulbrich, M.: Dynamic logic for an intermediate language: verification, interaction and refinement. Ph.D. thesis, Karlsruhe Institute of Technology, June 2013
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
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
The Why3 platform. http://why3.lri.fr/
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
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)