Re: Java virtual machine as target language for C/C++

pardo@cs.washington.edu (David Keppel)
14 May 1996 20:15:49 -0400

          From comp.compilers

Related articles
[10 earlier articles]
Re: Java virtual machine as target language for C/C++ bnm@indica.bbt.com (1996-05-10)
Re: Java virtual machine as target language for C/C++ mbk@caffeine.engr.utk.edu (1996-05-10)
Re: Java virtual machine as target language for C/C++ Drinie@xs4all.nl (1996-05-10)
Re: Java virtual machine as target language for C/C++ dean@psy.uq.oz.au (1996-05-10)
Re: Java virtual machine as target language for C/C++ khays@sequent.com (1996-05-13)
Re: Java virtual machine as target language for C/C++ genew@mindlink.bc.ca (1996-05-13)
Re: Java virtual machine as target language for C/C++ pardo@cs.washington.edu (1996-05-14)
Re: Java virtual machine as target language for C/C++ dmoisan@shore.net (1996-05-14)
Re: Java virtual machine as target language for C/C++ rfg@monkeys.com (1996-05-19)
Re: Java virtual machine as target language for C/C++ moresys@world.std.com (1996-05-19)
Re: Java virtual machine as target language for C/C++ pardo@cs.washington.edu (1996-05-19)
Re: Java virtual machine as target language for C/C++ robison@kai.com (Arch Robison) (1996-05-21)
Re: Java virtual machine as target language for C/C++ pardo@cs.washington.edu (1996-05-24)
[7 later articles]
| List of all articles for this month |

From: pardo@cs.washington.edu (David Keppel)
Newsgroups: comp.lang.java,comp.lang.c++,comp.compilers
Date: 14 May 1996 20:15:49 -0400
Organization: Computer Science & Engineering, U of Washington, Seattle
References: 96-05-036 96-05-049 96-05-062
Keywords: Java, C++

>dodd@csl.sri.com (Chris Dodd) writes:
>>[Java security comes from scanning the code before execution.]


Bill Mangione-Smith <billms@nixon.icsl.ucla.edu> wrote:
>[A compliant VM could use type flags on the stack.]


Java bytecodes are an example of what I call "mobile code". There are
four mechanisms for ensuring protection against both accidents and
malicious actions in mobile code:


  - Limited Languages


      The mobile code is expressed in a limited language which cannot
      express unsafe constructs [Deutsch & Grant 71, Gaines 72, Keppel 93,
      Thekkath & Levy 93].


  - Outside The Domain


      Execute the code outside of the (any) domain in which you care about
      protection [Stamos & Gifford 91, Keppel 93, Wahbe et al. 93].


  - Virtualization


      Virtualize the operation so that whenever the operation is executed,
      the necessary protection checks are also executed [Deutsch & Grant 71,
      Falcone 87, Stamos & Gifford 90, Keppel 93, Wahbe et al. 93].


  - Program Verification


      Before program execution, the program is checked by a trustsed agent
      that can ensure (prove) that there are no execution paths that can
      violate security [Deutsch & Grant 71, Deutsch 73, Stamos & Gifford 90,
      Keppel 93, Wahbe et al. 93].


Note that the above may be viewed as variations on the theme of "an
object which cannot be named also cannot be corrupted".


In each of these it is necessary to specify very carefully what is the
"domain" that you care about.


To blow my own horn, my dissertation (on Runtime Code Generation) has
a few pages on mobile code. My dissertation *still* isn't quite done,
but if you send me your e-mail address I'll let you know when it's
done.


;-D on ( Mobile citations ) Pardo




%A Peter Deutsch
%A C. A. Grant
%T A Flexible Measurement Tool for Software Systems
%J International Federation for Information Processing Congress 71
(IFIP),
booklet TA-3
%C Ljubljana
%D August 1971
%P 7-12
%I North-Holland Publishing Co.


%A Peter Deutsch
%T The Interactive Program Verifier
%R Ph.D. thesis
%I Xerox Palo Alto Research Center
%D 1973


%A R. Stockton Gaines
%T An Operating System Based on the Concept of a Supervisory Computer
%J Communications of the ACM (CACM)
%D March 1972
%V 15
%N 3
%P 150-156


%A J. R. Falcone
%T A Programmable Interface Language for Heterogenous
Distributed Systems
%J ACM Transactions on Compuer Systems
%V 5
%N 4
%D November 1987
%P 330-351


%A David Keppel
%T Managing Abstraction-Induced Complexity
%R 93-06-02
%D June 1993
%I University of Waschington Department of Compueter Science and
Engineering
%W Available via anonymous ftp from `ftp.cs.washington.edu'
(128.95.1.4) in `tr/1993/06/UW-CSE-93-06-02.PS.Z'


%A James W. Stamos
%A David K. Gifford
%T Remote Evaluation
%J ACM Transactions on Programming Languages and Systems
%V 12
%N 4
%D October 1990
%P 537-565


%A Chandramohan A. Thekkath
%A Henry M. Levy
%T Limits to Low Latency Communication on High-Speed Networks
%J ACM Transactions on Computer Systems
%D May 1993
%V 11
%N 2


%A Robert Wahbe
%A Steven Lucco
%A Thomas E. Anderson
%A Susan L. Graham
%T Efficient Software-Based Fault Isolation
%J Proceedings of the Symposium on Operating System Principles
%D 1993
%W http://www.cs.cmu.edu/afs/cs.cmu.edu/project/sfi/www/top.html
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.