Fri 30 Oct 2015 10:52 - 11:15 at Grand Station 1 - 9. Compilation & Dynamic Analysis Chair(s): Frank Tip

Performance bugs are a prevalent problem and recent research proposes various techniques to identify such bugs. This paper addresses a kind of performance problem that often is easy to address but difficult to identify: redundant computations that may be avoided by reusing already computed results for particular inputs, a technique called memoization. To help developers find and use memoization opportunities, we present MemoizeIt, a dynamic analysis that identifies methods that repeatedly perform the same computation. The key idea is to compare inputs and outputs of method calls in a scalable yet precise way. To avoid the overhead of comparing objects at all method invocations in detail, MemoizeIt first compares objects without following any references and iteratively increases the depth of exploration while shrinking the set of considered methods. After each iteration, the approach ignores methods that cannot benefit from memoization, allowing it to analyze calls to the remaining methods in more detail. For every memoization opportunity that MemoizeIt detects, it provides hints on how to implement memoization, making it easy for the developer to fix the performance issue. Applying MemoizeIt to eleven real-world Java programs reveals nine profitable memoization opportunities, most of which are missed by traditional CPU time profilers, conservative compiler optimizations, and other existing approaches for finding performance bugs. Adding memoization as proposed by MemoizeIt leads to statistically significant speedups by factors between 1.04x and 12.93x.

Fri 30 Oct

oopsla2015
10:30 - 12:00: OOPSLA - 9. Compilation & Dynamic Analysis at Grand Station 1
Chair(s): Frank TipSamsung Research America
oopsla201510:30 - 10:52
Talk
Pericles Rafael AlvesFederal University of Minas Gerais, Brazil, Fabian GruberINRIA, France, Johannes DoerfertSaarland University, Alexandros LabrineasINRIA, France, Tobias GrosserETH Zurich, Switzerland, Fabrice RastelloINRIA, France, Fernando Magno Quintão PereiraFederal University of Minas Gerais, Brazil
Link to publication
oopsla201510:52 - 11:15
Talk
Luca Della ToffolaETH Zurich, Switzerland, Michael PradelTU Darmstadt, Germany, Thomas GrossETH Zurich, Switzerland
DOI
oopsla201511:15 - 11:37
Talk
Wen-Chuan LeePurdue University, USA, Tao BaoPurdue University, USA, Yunhui ZhengPurdue University, USA, Xiangyu ZhangPurdue University, USA, Keval VoraUniversity of California at Riverside, USA, Rajiv GuptaUniversity of California at Riverside, USA
DOI
oopsla201511:37 - 12:00
Talk
Zhoulai FuUniversity of California at Davis, USA, Zhaojun BaiUniversity of California at Davis, USA, Zhendong SuUniversity of California at Davis, USA
DOI