Java is type safe -- probably
File(s)DTR96-8.pdf (300.42 KB)
Technical report
Author(s)
Drossopoulou, Sophia
Eisenbach, Susan
Type
Report
Abstract
Amidst rocketing numbers of enthusiastic Java programmers and internet applet users, there is growing concern about the security of executing Java code produced by external, unknown sources. Rather than waiting to find out empirically what damage Java programs do, we aim to examine first the language and then the environment, looking for points of weakness. A proof of the soundness of the Java type system is a first, necessary step towards demonstrating which Java programs won't compromise computer security.
We consider a type safe subset of Java describing primitive types, classes, inheritance, instance variables and methods, interfaces, shadowing, dynamic method binding, object creation, null and arrays. We argue that for this subset the type system is sound, by proving that program execution preserves the types, up to subclasses/subinterfaces.
We consider a type safe subset of Java describing primitive types, classes, inheritance, instance variables and methods, interfaces, shadowing, dynamic method binding, object creation, null and arrays. We argue that for this subset the type system is sound, by proving that program execution preserves the types, up to subclasses/subinterfaces.
Date Issued
2022-01-01
Citation
Departmental Technical Report: 96/8, 2022, pp.1-30
Publisher
Department of Computing, Imperial College London
Start Page
1
End Page
30
Journal / Book Title
Departmental Technical Report: 96/8
Copyright Statement
© 1996 The Author(s) The . This report is available open access under a CC-BY-NC-ND (https://creativecommons.org/licenses/by-nc-nd/4.0/)
Publication Status
Published