Memorization of a method is a commonly used re-factoring wherein developer modules the code of a method to save return values for some or all incoming parameter values. Whenever a parameter-tuple is received for the second or subsequent time, the method's execution can be elided and the corresponding saved value can be returned. It is quite challenging for developers to identify suitable methods for memorization, as these may not necessarily be the methods that account for a high fraction of the running time in the program. What are really sought are the methods that cumulatively incur signi_cant execution time in invocations that receive repeat parameter values. Our primary contribution is a novel dynamic analysis approach that emits a rep...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Understanding how developers refactor their code is critical to support the design improvement proce...
Performance bugs are a prevalent problem and recent research proposes various techniques to identify...
Memoization may be viewed as a mechanism for re-using a computation—if a function is re-applied to t...
Memoization may be viewed as a mechanism for re-using a computation---if a function is re-applied to...
We design and implement two Java optimizations based on JSR308 annota- tions: pure method memoizatio...
Abstract—Overly long methods hamper the maintainability of software—they are hard to understand and ...
Abstract. The extract method is a common way to shorten long meth-ods in software development. Befor...
Many functions perform redundant calculations. Within a single function invocation, several sub-func...
One of the significant issues that hinder the performance of Java program execution is dynamic memor...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
Memorization as an algorithm design technique allows to speed up algorithms at the price of more spa...
The memory hierarchy in modern architectures continues to be a major performance bottleneck. Many ex...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Understanding how developers refactor their code is critical to support the design improvement proce...
Performance bugs are a prevalent problem and recent research proposes various techniques to identify...
Memoization may be viewed as a mechanism for re-using a computation—if a function is re-applied to t...
Memoization may be viewed as a mechanism for re-using a computation---if a function is re-applied to...
We design and implement two Java optimizations based on JSR308 annota- tions: pure method memoizatio...
Abstract—Overly long methods hamper the maintainability of software—they are hard to understand and ...
Abstract. The extract method is a common way to shorten long meth-ods in software development. Befor...
Many functions perform redundant calculations. Within a single function invocation, several sub-func...
One of the significant issues that hinder the performance of Java program execution is dynamic memor...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
Memorization as an algorithm design technique allows to speed up algorithms at the price of more spa...
The memory hierarchy in modern architectures continues to be a major performance bottleneck. Many ex...
Freshly created objects are a blank slate: their mutable state and their constant properties must be...
. We present a technique to measure and detect changes in the behavioral patterns of applications. I...
Understanding how developers refactor their code is critical to support the design improvement proce...