Java binary computability is almost correct version 2∝
File(s) DTR98-3.pdf (319.15 KB)
Technical report
Author(s)
Wragg, David
Drossopoulou, Sophia
Eisenbach, Susan
Type
Report
Abstract
The Java language description is unusual in that it defines the effect of interleaving separate compilation and source code modifications. In Java, certain source code modifications, such as adding a method to a class, are defined as binary compatible. The Java language description does not require the re-compilation of programs importing classes or interfaces which were modified in binary compatible ways, and it claims that successful linking and execution of the altered program is guaranteed. In this paper we show that Java binary compatibility does not actually guarantee successful linking and execution. We then suggest a framework in which we formalize the requirement of safe linking and execution without re-compilation and we propose a more modest definition of binary compatibility. We prove for a substantial subset of Java, that our definition guarantees safe linking and execution.
Date Issued
1998-02-06
Citation
Departmental Technical Report: 98/3, 1998, pp.1-21
Publisher
Department of Computing, Imperial College London
Start Page
1
End Page
21
Journal / Book Title
Departmental Technical Report: 98/3
Copyright Statement
© 1998 The Author(s). This report is available open access under a CC-BY-NC-ND (https://creativecommons.org/licenses/by-nc-nd/4.0/)
Publication Status
Published
