Program fragments, linking, and modularization
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The security of static typing with dynamic linking
Proceedings of the 4th ACM conference on Computer and communications security
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A type system for object initialization in the Java bytecode language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proof linking: an architecture for modular verification of dynamically-linked mobile code
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Representing Java classes in a typed intermediate language
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal framework for the Java bytecode language and verifier
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A formal specification of Java class loading
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
A Calculus for Compiling and Linking Classes
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
A Primitive Calculus for Module Systems
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Sharing in Typed Module Assembly Language
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Safe and Flexible Dynamic Linking of Native Code
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Equational Reasoning for Linking with First-Class Primitive Modules
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
A Fragment Calculus Towards a Model of Separate Compilation, Linking and Binary Compatibility
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Modules, abstract types, and distributed versioning
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
Formalization and Analysis of Class Loading in Java
Higher-Order and Symbolic Computation
A Formal Framework for Java Separate Compilation
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Evolution of Distributed Java Programs
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
A Type System for the Java Bytecode Language and Verifier
Journal of Automated Reasoning
Modeling multiple class loaders by a calculus for dynamic linking
Proceedings of the 2004 ACM symposium on Applied computing
MetaKlaim: a type safe multi-stage language for global computing
Mathematical Structures in Computer Science
A flexible model for dynamic linking in Java and C#
Theoretical Computer Science
Type safe dynamic linking for JVM access control
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A calculus of open modules: call-by-need strategy and confluence
Mathematical Structures in Computer Science
UpgradeJ: Incremental Typechecking for Class Upgrades
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A Calculus for Dynamic Reconfiguration with Low Priority Linking
Electronic Notes in Theoretical Computer Science (ENTCS)
Flexible Bytecode for Linking in .NET
Electronic Notes in Theoretical Computer Science (ENTCS)
SCHOOL: a Small Chorded Object-Oriented Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Flexible models for dynamic linking
ESOP'03 Proceedings of the 12th European conference on Programming
MetaKlaim: meta-programming for global computing
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Mixin modules for dynamic rebinding
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
First-class relationships in an object-oriented language
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Hi-index | 0.00 |
We suggest a model for dynamic loading and linking as in Java. We distinguish five components in a Java implementation: evaluation, resolution, loading, verification, and preparation - with their associated checks. We demonstrate how these five together guarantee type soundness.We take an abstract view, and base our model on a language nearer to Java source than to bytecode. We consider the following features of Java: classes, subclasses, fields and hiding, methods and inheritance, and interfaces.