Java and the Java Virtual Machine - Robert F. Stärk, Joachim Schmid, Egon Börger

Java and the Java Virtual Machine

Definition, Verification, Validation
Buch | Softcover
X, 381 Seiten
2014 | 1. Softcover reprint of the original 1st ed. 2001
Springer Berlin (Verlag)
978-3-642-63997-5 (ISBN)
53,49 inkl. MwSt
The origin of this book goes back to the Dagstuhl seminar on Logic for System Engineering, organized during the first week of March 1997 by S. Jiihnichen, J. Loeckx, and M. Wirsing. During that seminar, after Egon Borger's talk on How to Use Abstract State Machines in Software Engineering, Wolfram Schulte, at the time a research assistant at the University of Ulm, Germany, questioned whether ASMs provide anything special as a scientifically well founded and rigorous yet simple and industrially viable framework for high level design and analysis of complex systems, and for natural refinements of models to executable code. Wolfram Schulte argued, referring to his work with K. Achatz on A Formal Object-Oriented Method Inspired by Fusion and Object-Z [1], that with current techniques of functional programming and of axiomatic specification, one can achieve the same result. An intensive and long debate arose from this discussion. At the end of the week, it led Egon Borger to propose a collaboration on a real-life specification project of Wolfram Schulte's choice, as a comparative field test of purely functional declarative methods and of their enhancement within an integrated abstract state-based operational (ASM) approach. After some hesitation, in May 1997 Wolfram Schulte accepted the offer and chose as the theme a high-level specification of Java and of the Java Virtual Machine.

Egon Börger ist Professor für Informatik an der Universität Pisa (Italien) und Alexander-von-Humboldt-Forschungspreisträger.

1. Introduction.- 1.1 The goals of the book.- 1.2 The contents of the book.- 1.3 Decomposing Java and the JVM.- 1.4 Sources and literature.- 2. Abstract State Machines.- 2.1 ASMs in a nutshell.- 2.2 Mathematical definition of ASMs.- 2.3 Notational conventions.- I. Java.- 3. The imperative core JavaI of Java.- 4. The procedural extension JavaC of JavaI.- 5. The object-oriented extension $${text{Jav}}{{text{a}}_mathcal{O}}$$ of JavaC.- 6. The exception-handling extension Java? of $${text{Jav}}{{text{a}}_mathcal{O}}$$.- 7. The concurrent extension JavaT of Java?.- 8. Java is type safe.- II. Compilation of Java: The Trustful JVM.- 9. The JVMI submachine.- 10. The procedural extension JVMC of JVMI.- 11. The object-oriented extension $${text{JV}}{{text{M}}_mathcal{O}}$$ of JVMC.- 12. The exception-handling extension JVM? of $${text{JV}}{{text{M}}_mathcal{O}}$$.- 13. Executing the JVMN.- 14. Correctness of the compiler.- III. Bytecode Verification: The Secure JVM.- 15. The defensive virtual machine.- 16. Bytecode type assignments.- 17. The diligent virtual machine.- 18. The dynamic virtual machine.- A. Executable Models.- A.1 Overview.- A.2 Java.- A.3 Compiler.- A.4 Java Virtual Machine.- B. Java.- B.1 Rules.- B.2 Arrays.- C. JVM.- C.1 Trustful execution.- C.2 Defensive execution.- C.3 Diligent execution.- C.4 Check functions.- C.5 Successor functions.- C.6 Constraints.- C.7 Arrays.- C.8 Abstract versus real instructions.- D. Compiler.- D.1 Compilation functions.- D.2 maxOpd.- D.3 Arrays.- References.- List of Figures.- List of Tables.

From the reviews:

"A professional Java programmer must know what his program exactly will do, if it is run on a Java Virtual Machine (JVM). To help these professionals, the book presents a mathematical framework using the notation of Abstract State Machines (ASMs). ... it is addressed to professional software engineers and to advanced students who require a complete and exact definition of Java and of the behaviour of the JVM. With AsmGofer an interesting experimental system for program verification is available." (W. Brecht, Zentralblatt MATH, Vol. 978, 2002)

From the reviews:"A professional Java programmer must know what his program exactly will do, if it is run on a Java Virtual Machine (JVM). To help these professionals, the book presents a mathematical framework using the notation of Abstract State Machines (ASMs). … it is addressed to professional software engineers and to advanced students who require a complete and exact definition of Java and of the behaviour of the JVM. With AsmGofer an interesting experimental system for program verification is available." (W. Brecht, Zentralblatt MATH, Vol. 978, 2002)

Erscheint lt. Verlag 23.8.2014
Zusatzinfo X, 381 p. 13 illus.
Verlagsort Berlin
Sprache englisch
Maße 155 x 235 mm
Gewicht 597 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Software Entwicklung
Informatik Theorie / Studium Compilerbau
Schlagworte Constraint • C programming language • Java • java card • JAVA (Programmiersprache) • Java Virtual Machine • NATURAL • programming • Programming language • security • Software engineering • Testing • Validation • Virtual machine
ISBN-10 3-642-63997-6 / 3642639976
ISBN-13 978-3-642-63997-5 / 9783642639975
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90