Show simple item record

dc.contributor.advisorRaghavan, K V
dc.contributor.authorChugh, Pallavi
dc.date.accessioned2017-12-12T20:48:12Z
dc.date.accessioned2018-07-31T04:40:13Z
dc.date.available2017-12-12T20:48:12Z
dc.date.available2018-07-31T04:40:13Z
dc.date.issued2017-12-13
dc.date.submitted2016
dc.identifier.urihttps://etd.iisc.ac.in/handle/2005/2917
dc.identifier.abstracthttp://etd.iisc.ac.in/static/etd/abstracts/3778/G27782-Abs.pdfen_US
dc.description.abstractMemorization 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 report that contains, for each method in an application, an estimate of the execution time savings to be expected from memorizing this method. The key technical novelty of our approach is a set of design elements that allow our approach to target real-world programs, and to compute the estimates in a re-grained manner. We describe our approach in detail, and evaluate an implementation of it on several real-world programs. Our evaluation reveals that there do exist many methods with good estimated savings that the approach is reasonably ancient, and that it has good precision (relative to actual savings).en_US
dc.language.isoen_USen_US
dc.relation.ispartofseriesG27782en_US
dc.subjectJava Programen_US
dc.subjectMemoizationen_US
dc.subjectCacheable Dataen_US
dc.subjectDynamic Analysisen_US
dc.subjectCode Re-factoringen_US
dc.subjectRun-time Bloaten_US
dc.subjectPerformance Optimizationen_US
dc.subject.classificationComputer Scienceen_US
dc.titleIdentifying Method Memoization Opportunities in Java Programsen_US
dc.typeThesisen_US
dc.degree.nameMSc Enggen_US
dc.degree.levelMastersen_US
dc.degree.disciplineFaculty of Engineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record