Presentation 2015-10-14
Memoization Refactoring based on Purity Analysis
Jiachen Yang, Keisuke Hotta, Yoshiki Higo, Shinji Kusumoto,
PDF Download Page PDF download Page Link
Abstract(in Japanese) (See Japanese page)
Abstract(in English) Memoization refactoring is a refactoring pattern that caches the result of a given function and returns the same result when the function gets called afterward with the same set of arguments. The purpose of this refactoring is to reduce duplicated calculations and trade the CPU time with the memory usage. Traditionally it is tricky to apply this refactoring manually, as the return value of the function may depend on internal states that may change between the function calls. This largely prevents the programmers from adopting the Memoization refactoring. In this research, we will propose an approach to apply the Memoization refactoring on Java member methods, by using detailed side-effects information about the target method that gathered from a purity analysis tool called purano. We practised the soundness of our approach on open-source Java libraries and observed improvements in performance and preservation of semantics by running a profiler on the bundled test cases on these libraries.
Keyword(in Japanese) (See Japanese page)
Keyword(in English) memoization refactoringpurity analysisstatic analysis
Paper # SS2015-43,DC2015-33
Date of Issue 2015-10-06 (SS, DC)

Conference Information
Committee DC / SS
Conference Date 2015/10/13(2days)
Place (in Japanese) (See Japanese page)
Place (in English) Todaiji Culture Center (Nara)
Topics (in Japanese) (See Japanese page)
Topics (in English) Software System, Dependability in Network
Chair Nobuyasu Kanekawa(Hitachi) / Shoji Yuen(Nagoya Univ.)
Vice Chair Michiko Inoue(NAIST) / Kazuhiro Ogata(JAIST)
Secretary Michiko Inoue(RTRI) / Kazuhiro Ogata(Kyoto Sangyo Univ.)
Assistant / Yoshiki Higo(Osaka Univ.)

Paper Information
Registration To Technical Committee on Dependable Computing / Technical Committee on Software Science
Language ENG
Title (in Japanese) (See Japanese page)
Sub Title (in Japanese) (See Japanese page)
Title (in English) Memoization Refactoring based on Purity Analysis
Sub Title (in English)
Keyword(1) memoization refactoringpurity analysisstatic analysis
1st Author's Name Jiachen Yang
1st Author's Affiliation Osaka University(Osaka Univ.)
2nd Author's Name Keisuke Hotta
2nd Author's Affiliation Osaka University(Osaka Univ.)
3rd Author's Name Yoshiki Higo
3rd Author's Affiliation Osaka University(Osaka Univ.)
4th Author's Name Shinji Kusumoto
4th Author's Affiliation Osaka University(Osaka Univ.)
Date 2015-10-14
Paper # SS2015-43,DC2015-33
Volume (vol) vol.115
Number (no) SS-248,DC-249
Page pp.pp.47-52(SS), pp.47-52(DC),
#Pages 6
Date of Issue 2015-10-06 (SS, DC)