The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
A type system for Java bytecode subroutines
ACM Transactions on Programming Languages and Systems (TOPLAS)
A generic type system for the Pi-calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
IFL '97 Selected Papers from the 9th International Workshop on Implementation of Functional Languages
Java bytecode as a typed term calculus
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Time regions and effects for resource usage analysis
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Resource usage analysis for a functional language with exceptions
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
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
Compiling the π-calculus into a Multithreaded Typed Assembly Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Typed assembly language for implementing OS kernels in SMP/multi-core environments with interrupts
SSV'10 Proceedings of the 5th international conference on Systems software verification
Safe locking for multi-threaded java
FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
Hi-index | 0.00 |
A bytecode verifier for the Java virtual machine language (JVML) checks that bytecode does not cause any fatal error before the code is executed. However, the present verifier does not check correctness of the usage of lock primitives. To solve this problem, we extend Stata and Abadi's type system for JVML by augmenting types with information about how each object is locked and unlocked. The resulting type system can guarantee that when a thread terminates it has released all the locks it has acquired and that a thread releases a lock only if it has acquired the lock previously.