skip to main content
10.1145/268946.268959acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

A type system for Java bytecode subroutines

Authors Info & Claims
Published:21 January 1998Publication History

ABSTRACT

Java is typically compiled into an intermediate language, JVML, that is interpreted by the Java Virtual Machine. Because mobile JVML code is not always trusted, a bytecode verifier enforces static constraints that prevent various dynamic errors. Given the importance of the bytecode verifier for security, its current descriptions are inadequate. This paper proposes using typing rules to describe the bytecode verifier because they are more precise than prose, clearer than code, and easier to reason about than either.JVML has a subroutine construct used for the compilation of Java's try-finally statement. Subroutines are a major source of complexity for the bytecode verifier because they are not obviously last-in/first-out and because they require a kind of polymorphism. Focusing on subroutines, we isolate an interesting, small subset of JVML. We give typing rules for this subset and prove their correctness. Our type system constitutes a sound basis for bytecode verification and a rational reconstruction of a delicate part of Sun's bytecode verifier.

References

  1. Coh97.Richard M. Cohen. Defensive Java Virtual Machine version 0.5 alpha release. Web pages at http://w~, cli. com/~ May 13, 1997.Google ScholarGoogle Scholar
  2. DE97.Sophia Drossopoulou and Susan Eisenbach. Java is type safe---probably. In Proceedings of ECOOP'gT, pages 389-418, June 1997.Google ScholarGoogle ScholarCross RefCross Ref
  3. LY96.Tim LindhoIm and Frank Yellin. The java Virtual Machine Spec~jicatior~ Addison-Wesley~ 1996. - Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mor95.Grog Morrisett. Compiling with Types. PhD the. sis, Carnegie Mellon University, December 1995.Google ScholarGoogle Scholar
  5. MTC+96.G. Morrisett, D. Tarditi, P. Cheng, C. Stone, R. Harper, and P. Lee. The TIL/ML compiler: Performance and safety through types. In Workshop on Compiler Support for Systems Software, 1996.Google ScholarGoogle Scholar
  6. Qia97.Zhenyu Qian. A formal specification of Java(tin) Virtual Machine instructions (draft). Web page at http://~w.informatik.uni-bremen . de/-qian/abs-f sjvm. html, 1997.Google ScholarGoogle Scholar
  7. Sar97.Vijay Saraswat. The Java bytecode verification problem. Web page at htep:/}w~w.research . art. com/-vj/main.html, 1997.Google ScholarGoogle Scholar
  8. SMB97.Emin G~in Sizex, Scan McDirmid, and Brian Bershad. Kimerm A Java system security architecture. Web pages at htzp://kiraera, es . washington, edu/~ 1997.Google ScholarGoogle Scholar
  9. Sym97.I)on Syme. Proving Java type soundness, Technical Report 427, University of Cambridge Computer Laboratory, June t{}97.Google ScholarGoogle Scholar
  10. TIC97.ACM SIGPLAN Workshop on Types in Compilation (TIC97). June 1997.Google ScholarGoogle Scholar
  11. Yel97.Frank Yellin. Private communication. March 1997.Google ScholarGoogle Scholar

Index Terms

  1. A type system for Java bytecode subroutines

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
            January 1998
            403 pages
            ISBN:0897919793
            DOI:10.1145/268946

            Copyright © 1998 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 21 January 1998

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            POPL '98 Paper Acceptance Rate32of175submissions,18%Overall Acceptance Rate824of4,130submissions,20%

            Upcoming Conference

            POPL '25

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader