Abstraction and specification in program development
Abstraction and specification in program development
Theoretical Computer Science
Copying and Swapping: Influences on the Design of Reusable Software Components
IEEE Transactions on Software Engineering
Reference escape analysis: optimizing reference counting based on the lifetime of references
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Islands: aliasing protection in object-oriented languages
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Systems programming with Modula-3
Systems programming with Modula-3
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Promises: limited specifications for analysis and manipulation
Proceedings of the 20th international conference on Software engineering
Virginity: a contribution to the specification of object-oriented software
Information Processing Letters
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compositional pointer and escape analysis for Java programs
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Guava: a dialect of Java without data races
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Programming semantics for multiprogrammed computations
Communications of the ACM
Alias burying: unique variables without destructive reads
Software—Practice & Experience - Special issue on aliasing in object-oriented systems
JAC—access right based encapsulation for Java
Software—Practice & Experience - Special issue on aliasing in object-oriented systems
Syntactic control of interference
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
The Java Language Specification
The Java Language Specification
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
An Object-Oriented Effects System
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Aliasing in Object Oriented Systems
Proceedings of the Workshop on Object-Oriented Technology
High Level Specification of I/O in Functional Languages
Proceedings of the 1992 Glasgow Workshop on Functional Programming
ECCOP '96 Proceedings of the 10th European Conference on Object-Oriented Programming
Language features for process interaction
Proceedings of an ACM conference on Language design for reliable software
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
Values and objects in programming languages
ACM SIGPLAN Notices
The Cambridge CAP computer and its operating system (Operating and programming systems series)
The Cambridge CAP computer and its operating system (Operating and programming systems series)
Representation independence, confinement and access control [extended abstract]
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Encapsulating objects with confined types
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership, encapsulation and the disjointness of type and effect
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Alias annotations for program understanding
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Sharing Objects by Read-Only References
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Secure Information Flow and Pointer Confinement in a Java-like Language
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Lightweight confinement for featherweight java
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Saving the world from bad beans: deployment-time confinement checking
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
A practical type system and language for reference immutability
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-oriented encapsulation for dynamically typed languages
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Pluggable verification modules: an extensible protection mechanism for the JVM
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Stack-based access control and secure information flow
Journal of Functional Programming
Verifying safety policies with size properties and alias controls
Proceedings of the 27th international conference on Software engineering
Javari: adding reference immutability to Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Protecting representation with effect encapsulation
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of Functional Programming
A framework for implementing pluggable type systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A case study in re-engineering to enforce architectural control flow and data sharing
Journal of Systems and Software
Reasoning about safety properties in a JVM-like environment
Science of Computer Programming
Encapsulating objects with confined types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object and reference immutability using Java generics
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
L3: A Linear Language with Locations
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
Implicit ownership types for memory management
Science of Computer Programming
Reasoning about inherent parallelism in modern object-oriented languages
ACSC '08 Proceedings of the thirty-first Australasian conference on Computer science - Volume 74
Kilim: Isolation-Typed Actors for Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Thread Safety through Partitions and Effect Agreements
Languages and Compilers for Parallel Computing
Parameter reference immutability: formal definition, inference tool, and comparison
Automated Software Engineering
Aliasing, Confinement, and Ownership in Object-Oriented Programming
Object-Oriented Technology. ECOOP 2008 Workshop Reader
Comprehending annotations on object-oriented programs using fractional permissions
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Type-Based Object Immutability with Flexible Initialization
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
JavaCOP: Declarative pluggable types for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Semantics of fractional permissions with nesting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Checking interference with fractional permissions
SAS'03 Proceedings of the 10th international conference on Static analysis
Ownership and immutability in generic Java
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Recency types for analyzing scripting languages
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Read-only execution for dynamic languages
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Permission-based programming languages (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Plaid: a permission-based programming language
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Access permission contracts for scripting languages
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for borrowing permissions
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
State based ownership, reentrance, and encapsulation
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Extending JML for modular specification and verification of multi-threaded programs
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
L3: a linear language with locations
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Memory usage verification for OO programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Discretionary capability confinement
ESORICS'06 Proceedings of the 11th European conference on Research in Computer Security
On ownership and accessibility
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Isolation types and multi-core architectures
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
L$^3$: A Linear Language with Locations
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2005, Selected Papers
A linear concurrent constraint approach for the automatic verification of access permissions
Proceedings of the 14th symposium on Principles and practice of declarative programming
Ownership, filters and crossing handlers: flexible ownership in dynamic languages
Proceedings of the 8th symposium on Dynamic languages
Declarative object identity using relation types
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Tracking linear and affine resources with JAVA(X)
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Notions of aliasing and ownership
Aliasing in Object-Oriented Programming
Aliasing in Object-Oriented Programming
State based encapsulation for modular reasoning about behavior-preserving refactorings
Aliasing in Object-Oriented Programming
A case study on the lightweight verification of a multi-threaded task server
Science of Computer Programming
A survey of support for structured communication in concurrency control models
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Many languages and language extensions include annotations on pointer variables suchas "read-only," "unique," and "borrowed"; many more annotations have been proposed but not implemented. Unfortunately, all these annotations are described individually and formalised independently - assuming they are formalised at all. In this paper, we show how these annotations can be subsumed into a general capability system for pointers. This system separates mechanism (defining the semantics of sharing and exclusion) from policy (defining the invariants that are intended to be preserved). The capability system has a welldefined semantics which can be used as a reference for the correctness of various extended type systems using annotations. Furthermore, it supports researchin new less-restrictive type systems that permit a wider range of idioms to be statically checked.