Object-oriented type systems
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Principles of Program Analysis
Principles of Program Analysis
Alias annotations for program understanding
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Converting java programs to use generic libraries
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Checking ownership and confinement: Research Articles
Concurrency and Computation: Practice & Experience - Formal Techniques for Java-like Programs
Javari: adding reference immutability to Java
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Refactoring for Parameterizing Java Classes
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Type qualifier inference for java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Inferring aliasing and encapsulation properties for java
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Practical pluggable types for java
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Universe Types for Topology and Encapsulation
Formal Methods for Components and Objects
Parameter reference immutability: formal definition, inference tool, and comparison
Automated Software Engineering
PHALANX: parallel checking of expressive heap assertions
Proceedings of the 2010 international symposium on Memory management
A type system for data-centric synchronization
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Building and using pluggable type-checkers
Proceedings of the 33rd International Conference on Software Engineering
EnerJ: approximate data types for safe and general low-power computation
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Tunable static inference for generic universe types
Proceedings of the 25th European conference on Object-oriented programming
The runtime structure of object ownership
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Inference of user-defined type qualifiers and qualifier rules
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Reim & ReImInfer: checking and inference of reference immutability and method purity
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Inference and checking of context-sensitive pluggable types
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
ReImInfer: method purity inference for Java
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Composing polymorphic information flow systems with reference immutability
Proceedings of the 15th Workshop on Formal Techniques for Java-like Programs
Heap decomposition inference with linear programming
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
Ownership type systems describe a heap topology and enforce an encapsulation discipline; they aid in various program correctness and understanding tasks. However, the annotation overhead of ownership type systems has hindered their widespread use. We present a unified framework for specification, type inference and type checking of ownership type systems, and instantiate the framework for two such systems: Universe Types and Ownership Types. We present an objective metric defining a "best typing" for these type systems, and develop an inference approach that maximizes the metric. The programmer can influence the inference by adding partial annotations to the program. We implemented the approach on top of the Checker Framework and present the results of an experimental evaluation.