講演名 2015-10-14
Memoization Refactoring based on Purity Analysis
楊 嘉晨(阪大), 堀田 圭佑(阪大), 肥後 芳樹(阪大), 楠本 真二(阪大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 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.
抄録(英) 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.
キーワード(和)
キーワード(英) memoization refactoringpurity analysisstatic analysis
資料番号 SS2015-43,DC2015-33
発行日 2015-10-06 (SS, DC)

研究会情報
研究会 DC / SS
開催期間 2015/10/13(から2日開催)
開催地(和) 東大寺総合文化センター
開催地(英) Todaiji Culture Center (Nara)
テーマ(和) ソフトウェアシステム, ネットワーク環境でのディペンダビリティ
テーマ(英) Software System, Dependability in Network
委員長氏名(和) 金川 信康(日立) / 結縁 祥治(名大)
委員長氏名(英) Nobuyasu Kanekawa(Hitachi) / Shoji Yuen(Nagoya Univ.)
副委員長氏名(和) 井上 美智子(奈良先端大) / 緒方 和博(北陸先端大)
副委員長氏名(英) Michiko Inoue(NAIST) / Kazuhiro Ogata(JAIST)
幹事氏名(和) 岩田 浩司(鉄道総研) / 吉村 正義(京都産大) / 小林 隆志(東工大) / 鷲崎 弘宜(早大)
幹事氏名(英) Koji Iwata(RTRI) / Masayoshi Yoshimura(Kyoto Sangyo Univ.) / Takashi Kobayashi(Tokyo Inst. of Tech.) / Hironobu Washizaki(Waseda Univ.)
幹事補佐氏名(和) / 肥後 芳樹(阪大)
幹事補佐氏名(英) / Yoshiki Higo(Osaka Univ.)

講演論文情報詳細
申込み研究会 Technical Committee on Dependable Computing / Technical Committee on Software Science
本文の言語 ENG
タイトル(和)
サブタイトル(和)
タイトル(英) Memoization Refactoring based on Purity Analysis
サブタイトル(和)
キーワード(1)(和/英) / memoization refactoringpurity analysisstatic analysis
第 1 著者 氏名(和/英) 楊 嘉晨 / Jiachen Yang
第 1 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
第 2 著者 氏名(和/英) 堀田 圭佑 / Keisuke Hotta
第 2 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
第 3 著者 氏名(和/英) 肥後 芳樹 / Yoshiki Higo
第 3 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
第 4 著者 氏名(和/英) 楠本 真二 / Shinji Kusumoto
第 4 著者 所属(和/英) 大阪大学(略称:阪大)
Osaka University(略称:Osaka Univ.)
発表年月日 2015-10-14
資料番号 SS2015-43,DC2015-33
巻番号(vol) vol.115
号番号(no) SS-248,DC-249
ページ範囲 pp.47-52(SS), pp.47-52(DC),
ページ数 6
発行日 2015-10-06 (SS, DC)