11376
|
1 |
@inproceedings{NipkowOP00,
|
|
2 |
author={Tobias Nipkow and Oheimb, David von and Cornelia Pusch},
|
|
3 |
title={{$\mu$Java}: Embedding a Programming Language in a Theorem Prover},
|
|
4 |
booktitle = {Foundations of Secure Computation},
|
|
5 |
series= {NATO Science Series F: Computer and Systems Sciences},
|
|
6 |
volume = {175},
|
|
7 |
year = {2000},
|
|
8 |
publisher = {IOS Press},
|
|
9 |
editor = {Friedrich L. Bauer and Ralf Steinbr{\"u}ggen},
|
|
10 |
abstract = {This paper introduces the subset $micro$Java of Java,
|
|
11 |
essentially by omitting everything but classes.
|
|
12 |
The type system and semantics of this language
|
|
13 |
(and a corresponding abstract Machine $micro$JVM)
|
|
14 |
are formalized in the theorem prover Isabelle/HOL.
|
|
15 |
Type safety both of $micro$Java and the $micro$JVM
|
|
16 |
are mechanically verified.
|
|
17 |
|
|
18 |
To make the paper self-contained, it starts with
|
|
19 |
introductions to Isabelle/HOL and the art of
|
|
20 |
embedding languages in theorem provers.},
|
|
21 |
CRClassification = {D.3.1, F.3.2},
|
|
22 |
CRGenTerms = {Languages, Reliability, Theory, Verification},
|
|
23 |
url = {\url{http://isabelle.in.tum.de/Bali/papers/MOD99.html}},
|
|
24 |
pages = {117--144}
|
|
25 |
}
|
|
26 |
|
|
27 |
|
|
28 |
@article{DvO-CPE01,
|
|
29 |
author = {David von Oheimb},
|
|
30 |
title = {Hoare Logic for {J}ava in {Isabelle/HOL}},
|
|
31 |
journal = {Concurrency: Practice and Experience},
|
|
32 |
year = {2001},
|
|
33 |
url = {http://www4.in.tum.de/papers/DvO-CPE01.html},
|
|
34 |
abstract = {
|
|
35 |
This article presents a Hoare-style calculus for a substantial subset
|
|
36 |
of Java Card, which we call Java_light. In particular, the language
|
|
37 |
includes side-effecting expressions, mutual recursion, dynamic method
|
|
38 |
binding, full exception handling, and static class initialization.
|
|
39 |
|
|
40 |
The Hoare logic of partial correctness is proved not only sound (w.r.t.
|
|
41 |
our operational semantics of Java_light, described in detail elsewhere)
|
|
42 |
but even complete. It is the first logic for an object-oriented
|
|
43 |
language that is provably complete.
|
|
44 |
The completeness proof uses a refinement of the Most General Formula
|
|
45 |
approach. The proof of soundness gives new insights into the role of
|
|
46 |
type safety. Further by-products of this work are a new general
|
|
47 |
methodology for handling side-effecting expressions and their results,
|
|
48 |
the discovery of the strongest possible rule of consequence, and a
|
|
49 |
flexible Call rule for mutual recursion.
|
|
50 |
We also give a small but non-trivial application example.
|
|
51 |
|
|
52 |
All definitions and proofs have been done formally with the interactive
|
|
53 |
theorem prover Isabelle/HOL. This guarantees not only rigorous definitions,
|
|
54 |
but also gives maximal confidence in the results obtained.},
|
|
55 |
CRClassification = {D.2.4, D.3.1, F.3.1},
|
|
56 |
CRGenTerms = {Languages, Verification, Theory},
|
|
57 |
note = {\url{http://isabelle.in.tum.de/Bali/papers/CPE01.html}, to appear}
|
|
58 |
}
|