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

A simple, comprehensive type system for Java bytecode subroutines

Published:01 January 1999Publication History

ABSTRACT

A type system with proven soundness is a prerequisite for the safe and efficient execution of Java bytecode programs. So far, efforts to construct such a type system have followed a "forward dataflow" approach, in the spirit of the original Java Virtual Machine bytecode verifier. We present an alternative type system, based on conventional ideas of type constraints, polymorphic recursion and continuations. We compare it to Stata and Abadi's JVML-0 type system for bytecode subroutines, and demonstrate that our system is simpler and able to type strictly more programs, including code that could be produced by Java compilers and cannot be typed in JVML-0. Examination of real Java programs shows that such code is rare but does occur. We explain some of the apparently arbitrary constraints imposed by previous approaches by showing that they are consequences of our simpler type rules, or actually unnecessary.

References

  1. 1.D. Dean, E. Felten and D. Wallach. Java Security: From HotJava to Netscape and beyond. 1996 IEEE Symposium on Security and Privacy, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.S. Freund and J. Mitchell. A type system for object initialization in the Java bytecode language. Proceedings of the ACM SIGPLAN '98 Conference on Object-Oriented Programming Systems, Languages and Applications, October 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.F. Henglein. Type inference with polymorphic recursion. TOPLAS, Volume 15, No. 2, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M. Hagiya and A. Towaza. On a new method for dataflow analysis of Java Virtual Machine subroutines. Proceedings of the Fifth International Static Analysis Symposium, Springer- Verlag LNCS, 1998.Google ScholarGoogle ScholarCross RefCross Ref
  5. 5.T. Lindholm and F. Yellin. The Java Virtual Machine Specification. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.G. Morrisett, K. Crary, N. Glew and D. Walker. Stack-Based Typed Assembly Language. 1998 Workshop on Types in Compilation. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Z. Qian. A formal specification of Java virtual machine instructions. Formal Syntax and Semantics of Java, Springer- Vedag LNCS, 1998.Google ScholarGoogle Scholar
  8. 8.R. Stata and M. Abadi. A type system for Java bytecode subroutines. Proceedings of the 25th Annual ACM SIGPLAN-SIGACT Symposium on Principles Of Programming Languages, January 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A simple, comprehensive 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 '99: Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
                January 1999
                324 pages
                ISBN:1581130953
                DOI:10.1145/292540

                Copyright © 1999 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: 1 January 1999

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                POPL '99 Paper Acceptance Rate24of136submissions,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