2002 · 259 citations · 29 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSyntaxAccess ControlObject-oriented AnalysisObject-oriented DesignObject-oriented ProgrammingType CheckingType SystemsAbstract SemanticsAccess TypesEncapsulationFormal Proof SystemsObject-oriented ArchitectureOwnership Type SystemsOwnership Types
Ownership types provide a statically enforceable notion of object-level encapsulation. The authors extend ownership types with computational effects to enable reasoning about object-oriented programs. Their system augments ownership types with effects, offering access control and effects reporting, and defines two formal systems for reasoning about aliasing and effect disjointness. These formal systems allow proofs that evaluating two expressions never creates aliases and that the expressions do not interfere with one another.
Ownership types provide a statically enforceable notion of object-level encapsulation. We extend ownership types with computational effects to support reasoning about object-oriented programs. The ensuing system provides both access control and effects reporting. Based on this type system, we codify two formal systems for reasoning about aliasing and the disjointness of computational effects. The first can be used to prove that evaluation of two expressions will never lead to aliases, while the latter can be used to show the non-interference of two expressions.
29
The real-time specification for Java
Greg Bollella, James Gosling · Computer · 2000 · 988 citations
Region-Based Memory Management
Mads Tofte, Jean-Pierre Talpin · Information and Computation · 1997 · 617 citations
Ownership types for flexible alias protection
David G. Clarke, John Potter, James Noble · 1998 · 578 citations · Full text
Ownership types for safe programming
Chandrasekhar Boyapati, Robert Lee, Martin Rinard · 2002 · 571 citations
Enforcing high-level protocols in low-level software
Robert DeLine, Manuel Fähndrich · 2001 · 487 citations