JML Reference Manual DRAFT, $Revision: 1.220 $ $Date: 2008/01/08 22:43:42 $ (2008)
Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby, David Cok, ...
Permission is granted for you to make copies of this manual for educational and scholarly purposes, and for commercial use in specifying software, but the copies may not be sold or otherwise used for...
Curtis Clifton, Lisa C. Kaczmarczyk, Michael Mrozek
Instructors of introductory courses face many challenges, not the least of which is dealing with a large volume of course materials and students with differing backgrounds. There are often too many...
JML Reference Manual DRAFT, $Revision: 1.65 $ (2007)
Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby, David Cok, ...
Permission is granted for you to make copies of this manual for educational and scholarly purposes, and for commercial use in specifying software, but the copies may not be sold or otherwise used for...
Ownership and effects for more effective reasoning about aspects (2007)
Curtis Clifton, Gary T. Leavens, James Noble, Curtis Clifton, Gary T. Leavens, James Noble
Keywords: Aspect-oriented programming, ownership, concern domain, control effects,
Mao: Ownership and effects for more effective reasoning about aspects (2007)
Curtis Clifton, Garyt. Leavens, James Noble
Abstract. Aspect-oriented advice increases the number of places one must consider during reasoning, since advice may affect all method calls and field accesses. MAO, a new variant of AspectJ,...
MiniMAO1: An imperative core language for studying aspect-oriented reasoning (2006)
Curtis Clifton, Gary T. Leavens
This paper describes MiniMAO1, a core aspect-oriented language. Unlike previous aspect-oriented calculi and core languages, MiniMAO1 allows around advice to change the target object of an advised...
A Type Notation for Scheme (2005)
Gary T. Leavens, Curtis Clifton, Brian Dorn, Copyright Gary, T. Leavens, Curtis Clifton, ...
This document is distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version.
Curtis Charles Clifton, Curtis Clifton, All Rights Reserved, Curtis Charles Clifton, Jien Morris Chang, Robyn R. Lutz, ...
in aspect-oriented programs
functions, around advice, proceed, type soundness. 2003 CR Categories: D.1.3 [Programming Techniques] Concurrent Programming—parallel programming; D.1.m [Programming Techniques]...
A Type Notation for Scheme (2005)
Gary T. Leavens, Curtis Clifton, Brian Dorn, Copyright Gary, T. Leavens, Curtis Clifton, ...
This document is distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version.
A Type Notation for Scheme (2005)
Gary T. Leavens, Curtis Clifton, Brian Dorn, Copyright Gary, T. Leavens, Curtis Clifton, ...
This document is distributed under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1, or (at your option) any later version.
Curtis Clifton, Gary T. Leavens, Copyright C, Curtis Clifton, Gary T. Leavens, All Rights Reserved, ...
Languages] Language Constructs and Features — control structures, modules, packages, procedures, functions and subroutines, advice, spectators, assistants, aspects. Submitted for publication.
Lessons from the JML Project (2005)
Gary T. Leavens, Curtis Clifton, Gary T. Leavens, Curtis Clifton
Submitted for publication
MiniMAO: Investigating the Semantics of Proceed (2005)
Curtis Clifton, Gary T. Leavens
This paper describes the semantics of MiniMAO 1 , a core aspectoriented calculus. Unlike previous aspect-oriented calculi, it allows around advice to change the target object of an advised operation...
functions, around advice, proceed, type soundness. 2003 CR Categories: D.1.3 [Programming Techniques] Concurrent Programming—parallel programming; D.1.m [Programming Techniques]...
A Type Notation for Scheme (2005)
Gary T. Leavens, Copyright Gary, T. Leavens, Curtis Clifton, Curtis Clifton
This document is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
Karl Lieberherr, Sacher Dominik, Guenter Kniesel, Bart De Win, Curtis Clifton, ...
bibliography of the literature related to
MultiJava: Design rationale, compiler implementation, and applications (2004)
Curtis Clifton, Todd Millstein, Gary T. Leavens, Craig Chambers
MultiJava is a conservative extension of the Java programming language that adds symmetric multiple dispatch and open classes. Among other benefits, multiple dispatch provides a solution to the...
MultiJava: Design rationale, compiler implementation, and applications (2004)
Curtis Clifton, Todd Millstein, Gary T. Leavens, Craig Chambers, Curtis Clifton, Todd Millstein, ...
— abstract data types, classes and objects, control structures, inheritance,
Languages] Language classifications—object-oriented languages; D.3.3 [Programming Languages] Language Constructs and Features—control structures, data types and structures, abstract data types,...
Leavens JML Framed! 3 Behavioral Interface Specification (2004)
Gary T. Leavens, Yoonsik Cheon, Curtis Clifton, Rustan Leino, Bart Jacobs, Erik Poll, ...
Behavioral interface specification language, tailored to Java • Records detailed designs • Pre- and postconditions, invariants,... • Synthesizes ideas in sequential specification
Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby, David Cok, ...
this document. The specification of the method largest is given on lines 7 through 15. Line 7 says that this is a public, normal behavior specification. JML permits several di#erent specifications...
David Zook Shan, Robert E. Filman, Robert E. Filman, Robert E. Filman, Sacher Dominik, Guenter Kniesel, ...
Yan Zhang, Anna Liu, and Wei Qu. Implementing performance "tactics" using aspectoriented programming. In Huang et al. [581]. [1218] J. Zhao. Towards a metrics suite for aspectoriented...
How the Design of JML Accommodates Both Runtime Assertion Checking and Formal Verification (2004)
Gary T. Leavens, Yoonsik Cheon, Curtis Clifton, Clyde Ruby, David R. Cok
Specifications that are used in detailed design and in the documentation of existing code are primarily written and read by programmers.
Languages] Language classifications—object-oriented languages; D.3.3 [Programming Languages] Language Constructs and Features—control structures, data types and structures, abstract data types,...
MultiJava: Design rationale, compiler implementation, and applications (2004)
Curtis Clifton, Curtis Clifton, Todd Millstein, Todd Millstein, Gary T. Leavens, Gary T. Leavens, ...
— abstract data types, classes and objects, control structures, inheritance,
JML Reference Manual DRAFT, $Revision: 1.29 $ (2003)
Gary T. Leavens, Erik Poll, Curtis Clifton, Yoonsik Cheon, Clyde Ruby
Permission is granted for you to make copies of this manual for educational and scholarly purposes, and for commercial use in specifying software, but the copies may not be sold or otherwise used for...
Abstract Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy ∗ (2003)
Curtis Clifton, Gary T. Leavens, Copyright C, Curtis Clifton, Gary T. Leavens, All Rights Reserved, ...
The obliviousness property of AspectJ conflicts with the ability to reason about an AspectJ program in a modular fashion. This makes debugging and maintenance difficult. In object-oriented...
How the design of JML accommodates both runtime assertion checking and formal verification (2003)
Gary T. Leavens, Yoonsik Cheon, Curtis Clifton, Clyde Ruby, David R. Cok, Gary T. Leavens, ...
Techniques — modules and interfaces, object-oriented design methods; D.2.4
Curtis Clifton, Gary T. Leavens, Mitchell W, Curtis Clifton
Features — classes and objects Submitted for publication.
Formal definition of the parameterized aspect calculus (2003)
Curtis Clifton, Gary T. Leavens, Mitchell W, Curtis Clifton, Gary T. Leavens
This paper gives the formal definition of the parameterized aspect calculus, or ςasp. The ςasp calculus is a core calculus for the formal study of aspect-oriented programming languages. The...
Curtis Clifton, Gary T. Leavens, Mitchell Wand
Formal study of aspect-oriented languages is di#cult because current theoretical models provide a range of features that is too limited and rely on encodings using lower-level abstractions, which...
Abstract Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy ∗ (2003)
Curtis Clifton, Gary T. Leavens, Copyright C, Curtis Clifton, Gary T. Leavens, All Rights Reserved, ...
The obliviousness property of AspectJ conflicts with the ability to reason about an AspectJ program in a modular fashion. This makes debugging and maintenance difficult. In object-oriented...
G.T.: Obliviousness, modular reasoning, and the behavioral subtyping analogy (2003)
Copyright C, All Rights Reserved, Curtis Clifton, Curtis Clifton, Curtis Clifton, Gary T. Leavens, ...
Abstract. The obliviousness property of AspectJ-like languages conflicts with the ability to reason about programs in a modular fashion. This can make debugging and maintenance difficult. In...
Formal definition of the parameterized aspect calculus (2003)
Mitchell W, Curtis Clifton, Curtis Clifton, Gary T. Leavens, Gary T. Leavens
This paper gives the formal definition of the parameterized aspect calculus, or ςasp. The ςasp calculus is a core calculus for the formal study of aspect-oriented programming languages. The...
Spectators and Assistants: (2002)
Curtis Clifton, Gary T. Leavens, Copyright C, Curtis Clifton, Gary T. Leavens, All Rights Reserved
Languages] Language Constructs and Features — control structures, modules, packages, procedures, functions and subroutines,
Spectators and Assistants: (2002)
Curtis Clifton, Gary T. Leavens, Copyright C, Curtis Clifton, Gary T. Leavens, All Rights Reserved
Languages] Language Constructs and Features — control structures, modules, packages, procedures, functions and subroutines,
Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning (2002)
Curtis Clifton, Gary T. Leavens
In general, aspect-oriented programs require a whole-program analysis to understand the semantics of a single method invocation. This property can make reasoning difficult, impeding maintenance...
Spectators and Assistants: Enabling Modular Aspect-Oriented Reasoning (2002)
Copyright C, All Rights Reserved, Curtis Clifton, Curtis Clifton, Curtis Clifton, Gary T. Leavens, ...
In current aspect-oriented languages, separate compilation and modular reasoning are not possible. This detracts from comprehensibility and impedes maintenance eorts. We describe language features...
MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java (2000)
Curtis Clifton, Gary T. Leavens
We present MultiJava, a backward-compatible extension to Java supporting open classes and symmetric multiple dispatch. Open classes allow one to add to the set of methods that an existing class...
MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java (2000)
Curtis Clifton, Gary T. Leavens, Craig Chambers, Todd Millstein, Curtis Clifton, Gary T. Leavens
compilation.
MultiJava: Modular Open Classes and Symmetric Multiple Dispatch for Java (2000)
Curtis Clifton, Gary T. Leavens, Craig Chambers, Todd Millstein
We present MultiJava, a backward-compatible extension to Java supporting open classes and symmetric multiple dispatch. Open classes allow one to add to the set of methods that an existing class...
MultiJava: Modular symmetric multiple dispatch and extensible classes for Java (2000)
Copyright Curtis Clifton, Craig Chambers, Craig Chambers, Todd Millstein, Todd Millstein, Curtis Clifton, ...
Languages] Language Classifications — object-oriented languages; D.3.3 [Programming Languages] Language Constructs and Features — abstract data types, classes and objects, control structures,...