TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From system F to typed assembly language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Javalight is type-safe—definitely
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java security: Web browsers and beyond
Internet besieged
JRes: a resource accounting interface for Java
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
A specification of Java loading and bytecode verification
CCS '98 Proceedings of the 5th ACM conference on Computer and communications security
A compositional account of the Java virtual machine
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simple, comprehensive type system for Java bytecode subroutines
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Byte Code Verification for Java Smart Card Based on Model Checking
ESORICS '98 Proceedings of the 5th European Symposium on Research in Computer Security
Standard fixpoint iteration for Java bytecode verification
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formalizing the safety of Java, the Java virtual machine, and Java card
ACM Computing Surveys (CSUR)
Fixing the Java bytecode verifier by a suitable type domain
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Java bytecode as a typed term calculus
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Theoretical Computer Science
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Typing Assembly Programs with Explicit Forwarding
TACS '01 Proceedings of the 4th International Symposium on Theoretical Aspects of Computer Software
Verified Bytecode Model Checkers
TPHOLs '02 Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
FoSSaCS '01 Proceedings of the 4th International Conference on Foundations of Software Science and Computation Structures
An Operational Semantics of the Java Card Firewall
E-SMART '01 Proceedings of the International Conference on Research in Smart Cards: Smart Card Programming and Security
An Abstract Model of Java Dynamic Linking and Loading
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Formalizing a JVML Verifier for Initialization in a Theorem Prover
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Theoretical Computer Science - Foundations of software science and computation structures
Java Bytecode Verification: Algorithms and Formalizations
Journal of Automated Reasoning
Bytecode Verification by Model Checking
Journal of Automated Reasoning
A Type System for the Java Bytecode Language and Verifier
Journal of Automated Reasoning
Lightweight Bytecode Verification
Journal of Automated Reasoning
Formal Support for Development of JavaBeans" Component Systems
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
A flexible model for dynamic linking in Java and C#
Theoretical Computer Science
A type system for preventing data races and deadlocks in the java virtual machine language: 1
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Java bytecode verification via static single assignment form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantic Foundations and Inference of Non-null Annotations
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Long-Run Cost Analysis by Approximation of Linear Operators over Dioids
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Integrated Java Bytecode Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Flexible models for dynamic linking
ESOP'03 Proceedings of the 12th European conference on Programming
Rewriting approximations for fast prototyping of static analyzers
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
Hi-index | 0.00 |
This paper presents a sound type system for a large subset of the Java bytecode language including classes, interfaces, constructors, methods, exceptions, and bytecode subroutines. This work serves as the foundation for developing a formal specification of the bytecode language and the Java Virtual Machine's bytecode verifier. We also describe a prototype implementation of a type checker for our system and discuss some of the other applications of this work. For example, we show how to extend our work to examine other program properties, such as the correct use of object locks.