Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
Better static memory management: improving region-based analysis of higher-order languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Region-based memory management
Information and Computation
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based analysis of uncaught exceptions
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for object initialization in the Java bytecode language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Tractable constraints in finite semilattices
Science of Computer Programming
Safety checking of machine code
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A new type system for JVM lock primitives
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
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)
Typestate verification: abstraction techniques and complexity results
SAS'03 Proceedings of the 10th international conference on Static analysis
Resource usage analysis for the π-calculus
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Semantics of an effect analysis for exceptions
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Types and trace effects for object orientation
Higher-Order and Symbolic Computation
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Local policies for resource usage analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Model Checking Higher-Order Programs
Journal of the ACM (JACM)
Hi-index | 0.00 |
Igarashi and Kobayashi have proposed a general type system for checking whether resources such as files and memory are accessed in a valid manner. Their type system is, however, for call-by-value λ-calculus with resource primitives, and does not deal with non-functional primitives such as exceptions and pointers. We extend their type system to deal with exception primitives and prove soundness of the type system. Dealing with exception primitives is especially important in practice, since many resource access primitives may raise exceptions. The extension is non-trivial: While Igarashi and Kobayashi's type system is based on linear types, our new type system is a combination of linear types and effect systems. We also report on a prototype analyzer based on the new type system.