Position Paper: Handling “Out Of Memory” Errors ⋆ (2008)
Abstract. An “out of memory ” error can be catastrophic for a program, especially one written in a language such as Java that uses memory allocation frequently. Handling such an error can easily...
On Language Descriptions, John Boyland, Anthony Sloane, Xiaoming Li, Daryl Shannon, Jabari Walker, ...
(LDTA ’06) are contained in this volume. These papers include both technical papers and tool demonstration papers. LDTA ’06 was a satellite event of the European Joint Conferences on Theory and
John Boyland, Alex Buckley, Patrice Chalin, Dave Clarke, Paola Giannini, Marieke Huisman, ...
This report contains the papers presented at FTfJP ’07: 9th workshop on Formal
John Boyland, Alex Buckley, Patrice Chalin, Dave Clarke, Paola Giannini, Marieke Huisman, ...
This report contains the papers presented at FTfJP ’07: 9th workshop on Formal
Formal techniques for Java-Like programs (2008)
Boyland, John, Leavens, Gary, Logozzo, Francesco, Poetzsch-Heffter, Arnd
Formal techniques can help analyze programs, precisely describe program behavior, and verify program properties. Newer languages such as Java and C# provide good platforms to bridge the gap between...
Type-Safe Compilation of Covariant Specialization: A Practical Case (2007)
John Boyland, Giuseppe Castagna
Despite its lack of type safety, some typed object-oriented languages use covariant specialization for methods. In this work, we show how one may modify the semantics of languages that use covariant...
An Object-Oriented Effects System Aaron (2007)
Abstract. An effects systems describes how state may be accessed during the execution of some program component. This information is used to assist reasoning about a program, such as determining...
Iterators can be independent “from” their collections (2007)
External iterators pose problems for alias control mechanisms: they have access to collection interals and yet are not accessible from the collection; they may be used in contexts that are unaware of...
Semantics of Fractional Permissions with Nesting (2007)
Fractional permissions use fractions to distinguish write access (1) from read access (any smaller fraction). Nesting (an extension of adoption) can be used to model object invariants and ownership....
Iterators can be independent “from” their collections (2007)
External iterators pose problems for alias control mechanisms: they have access to collection interals and yet are not accessible from the collection; they may be used in contexts that are unaware of...
Sixth workshop on language descriptions, tools and applications : proceedings : editorship (2006)
Boyland, John, Sloane, Anthony M
2 page(s)
Sixth workshop on language descriptions, tools and applications : proceedings : editorship (2006)
Boyland, John, Sloane, Anthony M
2 page(s)
Why we should not add readonly to Java (yet (2005)
In this paper, I examine some of reasons that “readonly ” style qualifiers have been proposed for Java, and also the principles behind the rules for these new qualifiers. I find that there is a...
Checking interference with fractional permissions (2003)
Abstract. We describe a type system for checking interference using the concept of linear capabilities (which we call “permissions”). Our innovations include the concept of “fractional ”...
Modular Specification of Frame Properties in JML (2001)
Kees Huizing, Ruurd Kuiper, Davide Ancona, Giovanni Lagorio, ...
Program Committee:
The interdependence of effects and uniqueness (2001)
Abstract. A good object-oriented effects system gives the ability to define abstract regions (or “data groups”) of state within objects that can be extended in subclasses. Then one can specify...
Alias killing: Unique variables without destructive reads (1999)
An unshared object can be accessed without regard to possible conflicts with other parts of a system, whether concurrent or single-threaded. A unique variable (sometimes known as a "free...
Parasitic Methods: An Implementation of Multi-Methods for Java (1997)
John Boyland, Giuseppe Castagna
In an object-oriented programming language, method selection is (usually) done at run-time using the class of the receiver. Some object-oriented languages (such as CLOS) have multi-methods which...
Statically Checkable Pattern Abstractions (1997)
Manuel Fähndrich, John Boyland
Pattern abstractions increase the expressiveness of pattern matching, enabling the programmer to describe a broader class of regular forests with patterns. Furthermore, pattern abstractions support...