Manually implementing equals (for object comparisons) and hashCode (for object hashing) methods in large software projects is tedious and error-prone. This is due to many special cases, such as field shadowing, comparison between different types, or cyclic object graphs. Here, we present JEqualityGen, a source code generator that automatically derives implementations of these methods. JEqualityGen proceeds in two states: it first uses source code reflection in MetaAspectJ to generate aspects that contain the method implementations, before it uses weaving on the bytecode level to insert these into the target application. JEqualityGen generates not only correct, but efficient source code that on a typical large-scale Java application exhibits...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
This paper presents a novel profiling approach, which is entirely based on program transformation te...
Abstract. Detecting whether dierent variables have the same value at a program point is generally un...
Determining equality of objects in Java requires the implementation of equals and hashCode methods. ...
Determining equality of objects in Java requires the implementation of equals and hashCode methods. ...
In an object-oriented language such as Java, every class requires implementations of two special met...
In this dissertation, I describe the Peggy system for performing program optimization and translatio...
Igualdade e ordem são conceitos relacionados que são usados diariamente. Como eles dependem do domín...
Traditional programming languages provide a simplified view of equality. Many programmers have appar...
While test generators have the potential to significantly reduce the costs of software testing and h...
In this paper we describe the design and implementation of feqb, a tool that synthesizes sound equal...
A simple technique for reasoning about equalities that is fast and complete for ground formulas with...
I present an implementation of a new method purity analysis for Java programs, which is described in...
AbstractThis paper presents a novel profiling approach, which is entirely based on program transform...
An obstacle to practical logic programming systems with equality is infinite computation. In the dis...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
This paper presents a novel profiling approach, which is entirely based on program transformation te...
Abstract. Detecting whether dierent variables have the same value at a program point is generally un...
Determining equality of objects in Java requires the implementation of equals and hashCode methods. ...
Determining equality of objects in Java requires the implementation of equals and hashCode methods. ...
In an object-oriented language such as Java, every class requires implementations of two special met...
In this dissertation, I describe the Peggy system for performing program optimization and translatio...
Igualdade e ordem são conceitos relacionados que são usados diariamente. Como eles dependem do domín...
Traditional programming languages provide a simplified view of equality. Many programmers have appar...
While test generators have the potential to significantly reduce the costs of software testing and h...
In this paper we describe the design and implementation of feqb, a tool that synthesizes sound equal...
A simple technique for reasoning about equalities that is fast and complete for ground formulas with...
I present an implementation of a new method purity analysis for Java programs, which is described in...
AbstractThis paper presents a novel profiling approach, which is entirely based on program transform...
An obstacle to practical logic programming systems with equality is infinite computation. In the dis...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
This paper presents a novel profiling approach, which is entirely based on program transformation te...
Abstract. Detecting whether dierent variables have the same value at a program point is generally un...