Abstract
This paper describes the architecture of the loop tool, which is used for reasoning about sequential Java. The loop tool translates Java and JML (a specification language tailored to Java) classes into their semantics in higher order logic. It serves as a front-end to a theorem prover in which the actual verification of the desired properties takes place. Also, the paper discusses issues related to logical theory generation.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
W. Ahrendt, T. Baar, B. Beckert, M. Giese, E. Habermalz, R. Hähnle, W. Menzel, and P.H. Schmitt. The KeY approach: Integrating object oriented design and formal verification. In G. Brewka and L.M. Pereira, editors, Proc. 8th European Workshop on Logics in AI (JELIA), Lect. Notes AI. Springer, October 2000.
B. Barras, S. Boutin, C. Cornes, J. Courant, J.-Chr. Filliâ tre, E. Gimé nez, H. Herbelin, G. Huet, C. Muñoz, C. Murthy, C. Parent, C. Paulin-Mohring, A. Saïbi, and B. Werner. The Coq Proof Assistant User’s Guide Version 6.1. Technical Report 203, INRIA Rocquencourt, France, May 1997.
J. van den Berg, M. Huisman, B. Jacobs, and E. Poll. A type-theoretic memory model for verification of sequential Java programs. In D. Bert and C. Choppy, editors, Recent Trends in Algebraic Development Techniques, number 1827 in Lect. Notes Comp. Sci., pages 1–21. Springer, Berlin, 2000.
J. van den Berg, B. Jacobs, and E. Poll. Formal specification and verification of JavaCard’s Application Identifier Class. Techn. Rep. CSI-R0014, Comput. Sci. Inst., Univ. of Nijmegen. Appeared in: Proceedings of the JavaCard Workshop, Cannes. INRIA Techn. Rep. Updated version will appear in: I. Attali and Th. Jensen, editors, Proceedings of the Java Card 2000 Workshop (Springer LNCS 2001), Sept. 2000.
J. Corbett, M. Dwyer, J. Hatcliff, S. Laubach, C. Pasareanu, Robby, and H. Zheng. Bandera: extracting finite-state models from Java source code. In Proceedings 22 nd International Conference on Software Engineering, June 2000.
J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java Language Specification Second Edition. The Java Series. Addison-Wesley, 2000.
U. Hensel, M. Huisman, B. Jacobs, and H. Tews. Reasoning about classes in objectoriented languages: Logical models and tools. In Ch. Hankin, editor, European Symposium on Programming, number 1381 in Lect. Notes Comp. Sci., pages 105–121. Springer, Berlin, 1998.
M. Huisman. Reasoning about JAVA Programs in higher order logic, using PVS and Isabelle. PhD thesis, Univ. Nijmegen, 2001.
M. Huisman and B. Jacobs. Inheritance in higher order logic: Modeling and reasoning. In M. Aagaard and J. Harrison, editors, Theorem Proving in Higher Order Logics, number 1869 in Lect. Notes Comp. Sci., pages 301–319. Springer, Berlin, 2000.
M. Huisman and B. Jacobs. Java program verification via a Hoare logic with abrupt termination. In T. Maibaum, editor, Fundamental Approaches to Software Engineering, number 1783 in Lect. Notes Comp. Sci., pages 284–303. Springer, Berlin, 2000.
M. Huisman, B. Jacobs, and J. van den Berg. A case study in class library verification: Java’s Vector class. Techn. Rep. CSI-R0007, Comput. Sci. Inst., Univ. of Nijmegen. To appear in Software Tools for Technology Transfer, 2001.
B. Jacobs. A formalisation of Java’s exception mechanism. Techn. Rep. CSI-R0015, Comput. Sci. Inst., Univ. of Nijmegen. To appear at ESOP’01., 2000.
B. Jacobs and E. Poll. A logic for the Java Modeling Language JML. Techn. Rep. CSI-R0018, Comput. Sci. Inst., Univ. of Nijmegen. To appear at FASE’01., 2000.
B. Jacobs, J. van den Berg, M. Huisman, M. van Berkum, U. Hensel, and H. Tews. Reasoning about classes in Java (preliminary report). In Object-Oriented Programming, Systems, Languages and Applications, pages 329–340. ACM Press, 1998.
G.T. Leavens, A.L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Techn. Rep. 98-06, Dep. of Comp. Sci., Iowa State Univ. (http://www.cs.iastate.edu/~leavens/JML.html), 1998, revised May 2000.
X. Leroy. The Objective Caml system release 3.00. Institute National de Recherche en Informatique et Automatique, 1997. Documentation and user’s manual.
J. Meyer and A. Poetzsch-Heffter. An architecture for interactive program provers. In S. Graf and M. Schwartzbach, editors, TACAS00, Tools ans Algorithms for the Construction and Analysis of Software, volume 276 of Lect. Notes Comp. Sci., pages 63–77, 2000.
D. von Oheimb and T. Nipkow. Machine-checking the Java specification: Proving type-safety. In Jim Alves-Foss, editor, Formal Syntax and Semantics of Java, volume 1523 of LNCS, pages 119–156. Springer, 1999.
S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In D. Kapur, editor, 11th International Conference on AutomatedDeduction (CADE-11), number 607 in Lect. Notes Comp. Sci., pages 748–752. Springer, Berlin, 1992.
L.C. Paulson. Isabelle-a generic theorem prover. Number 828 in Lect. Notes Comp. Sci. Springer, Berlin, 1994. With contributions by Tobias Nipkow.
LOOP Project. http://www.cs.kun.nl/~bart/LOOP/.
J. Rothe, H. Tews, and B. Jacobs. The coalgebraic class specification language CCSL. Technical Report TUD-FI00-09, Dresden University of Technology, Department of Computer Science, October 2000. Available via http://wwwtcs.inf.tu-dresden.de/TU/Informatik/Fak/berichte.html.
Extended static checker ESC/Java. Compaq System Research Center. http://www.research.digital.com/SRC/esc/Esc.html.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van den Berg, J., Jacobs, B. (2001). The loop Compiler for Java and JML. In: Margaria, T., Yi, W. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2001. Lecture Notes in Computer Science, vol 2031. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45319-9_21
Download citation
DOI: https://doi.org/10.1007/3-540-45319-9_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41865-8
Online ISBN: 978-3-540-45319-2
eBook Packages: Springer Book Archive