Mechanisms for secure modular programming in Java

Lujo Bauer, Andrew W. Appel, Edward W. Felten

Research output: Contribution to journalArticlepeer-review

14 Scopus citations


We present a new module system for Java that improves upon many of the deficiencies of the Java package system and gives the programmer more control over dynamic linking. Our module system provides explicit interfaces, multiple views of modules based on hierarchical nesting and more flexible name-space management than the Java package system. Relationships between modules are explicitly specified in module description files. We provide more control over dynamic linking by allowing import statements in module description files to require that imported modules be annotated with certain properties, which we implement by digital signatures. Our module system is compatible enough with standard Java to be implemented as a source-to-source and bytecode-to-bytecode transformation wrapped around a standard Java compiler, using a standard Java virtual machine (JVM).

Original languageEnglish (US)
Pages (from-to)461-480
Number of pages20
JournalSoftware - Practice and Experience
Issue number5
StatePublished - Apr 25 2003

All Science Journal Classification (ASJC) codes

  • Software


  • Abstract data types
  • Computer security
  • Dynamic linking
  • Hierarchical module system
  • Information hiding
  • Java
  • Name-space management


Dive into the research topics of 'Mechanisms for secure modular programming in Java'. Together they form a unique fingerprint.

Cite this