講演名 | 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) |