The Journal of Object Technology · 2005 · 175 citations · 32 references
ComputingComputer ScienceCompilersFormal MethodsProgramming LanguagesAssertion-based VerificationObject-oriented ProgrammingSpecification LanguagesType CheckingType SystemsVerificationAssertion CheckingOwnership Type SystemsOwnership TypesRuntime Assertion CheckingRuntime VerificationStandard Verification
Object-oriented programs with arbitrary object structures are difficult to understand, to maintain, and to reason about. Ownership has been applied successfully to structure the object store and to restrict how references can be passed and used. We describe how ownership relations can be expressed in the Java Modeling Language, JML. These ownership specifications can be checked by standard verification techniques, runtime assertion checking, ownership type systems, or combinations of these techniques. We show that the combination of the lightweight Universe type system and JML specifications is flexible enough to handle interesting implementations while keeping the annotation and checking overhead small. The Universe type system has been implemented in the JML compiler. This integration enables the application of ownership-based verification techniques to programs specified in JML.
32
Extended static checking for Java
Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge et al. · 2002 · 1.3K citations
Gary T. Leavens, Albert L. Baker, Clyde Ruby · ACM SIGSOFT Software Engineering Notes · 2006 · 787 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