A syntactic approach to type soundness
Information and Computation
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Types and programming languages
Types and programming languages
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
The C++ Programming Language
A Calculus of Communicating Systems
A Calculus of Communicating Systems
Ownership types for safe programming: preventing data races and deadlocks
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Optimized Live Heap Bound Analysis
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
A type system for resource protocol verification and its correctness proof
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guaranteeing resource bounds for component software
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Memory usage verification for OO programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Finding resource bounds in the presence of explicit deallocation
ICTAC'05 Proceedings of the Second international conference on Theoretical Aspects of Computing
Type-Based amortised heap-space analysis
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
A type system for counting instances of software components
Theoretical Computer Science
Hi-index | 0.01 |
The aim of this article is to support component-based software engineering by modelling exclusive and inclusive usage of software components. Truong and Bezem describe in several papers abstract languages for component software with the aim to find bounds of the number of instances of components. Their language includes primitives for instantiating and deleting instances of components and operators for sequential, alternative and parallel composition and a scope mechanism. The language is here supplemented with the primitives use , lock and free . The main contribution is a type system which guarantees the safety of usage, in the following way: When a well-typed program executes a subexpression use [x] or lock [x ], it is guaranteed that an instance of x is available.