We present a sound and complete method for reasoning about contextual equivalence between different implementations of classes in an imperative subset of Java. Our technique successfully deals with public and private methods and fields, imperative fields, inheritance, and invocations of callbacks. To the extent of our knowledge this is the first sound and complete proof method of equivalence between classes for such a subset of Java. Using our technique we were able to prove equivalences in examples with higherorder behavior, where previous methods for functional calculi admit limitations [17, 20]. We were also able to show equivalences between classes that expose part of their state using public fields, hide part of their functionality usi...
We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts...
We introduce an expressive yet semantically clean core Java-like language, Java JR, and provide it w...
Context-oriented programming (COP) is a new programming approach whereby the context in which expres...
We present a sound and complete method for reasoning about contextual equivalence between different ...
We present a sound and complete method for reasoning about con-textual equivalence between different...
This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in ...
Fickle is a class-based object oriented imperative language, which extends Java with object re- clas...
Backward compatibility of class libraries ensures that an old implementation of a library can safely...
The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, f...
AbstractThis note briefly discusses how some of the ideas developed in the theory of coalgebras are ...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
Using game semantics, we investigate the problem of verifying contextual equivalences in Interface M...
We present coneqct: a contextual equivalence checking tool for terms of IMJ*, a fragment of Interfac...
We consider an object calculus in which open terms interact with the environment through interfaces....
An integral part of implementing functional languages is closure conversion-the process of convertin...
We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts...
We introduce an expressive yet semantically clean core Java-like language, Java JR, and provide it w...
Context-oriented programming (COP) is a new programming approach whereby the context in which expres...
We present a sound and complete method for reasoning about contextual equivalence between different ...
We present a sound and complete method for reasoning about con-textual equivalence between different...
This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in ...
Fickle is a class-based object oriented imperative language, which extends Java with object re- clas...
Backward compatibility of class libraries ensures that an old implementation of a library can safely...
The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, f...
AbstractThis note briefly discusses how some of the ideas developed in the theory of coalgebras are ...
We propose a conservative extension of the polymorphic lambda calculus ()# * ) as an intermediate la...
Using game semantics, we investigate the problem of verifying contextual equivalences in Interface M...
We present coneqct: a contextual equivalence checking tool for terms of IMJ*, a fragment of Interfac...
We consider an object calculus in which open terms interact with the environment through interfaces....
An integral part of implementing functional languages is closure conversion-the process of convertin...
We consider semantics for the class-based object-oriented calculus Featherweight Java (without casts...
We introduce an expressive yet semantically clean core Java-like language, Java JR, and provide it w...
Context-oriented programming (COP) is a new programming approach whereby the context in which expres...