A static type system for JVM access control

Tomoyuki Higuchi, Atsushi Ohori

Research output: Contribution to journalConference articlepeer-review


This paper presents a static type system for JAVA Virtual Machine (JVM) code that enforces an access control mechanism similar to the one found, for example, in a JAVA implementation. In addition to verifying type consistency of a given JVM code, the type system statically verifies that the code accesses only those resources that are granted by the prescribed access policy. The type system is proved to be sound with respect to an operational semantics that enforces access control dynamically, similarly to JAVA stack inspection. This result ensures that "well typed code cannot violate access policy." The paper then develop a type inference algorithm and shows that it is sound with respect to the type system and that it always infers a minimal set of access privileges. These results allows us to develop a static system for JVM access control without resorting to costly runtime stack inspection.

Original languageEnglish
Pages (from-to)227-237
Number of pages11
JournalACM SIGPLAN Notices
Issue number9
Publication statusPublished - 2003 Sept
Externally publishedYes
EventProceedings of the 2003 ACM SIGPLAN International Conference on Functional Programming - Uppsala, Sweden
Duration: 2003 Aug 252003 Aug 29


  • Access control
  • JVM
  • Stack inspection
  • Type inference
  • Type system

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design


Dive into the research topics of 'A static type system for JVM access control'. Together they form a unique fingerprint.

Cite this