- 著者
-
丸山 勝久
島 健一
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会論文誌 (ISSN:18827764)
- 巻号頁・発行日
- vol.41, no.6, pp.1777-1790, 2000-06-15
- 参考文献数
- 24
オブジェクト指向ソフトウェア開発において,フレームワークを再構成することは,その再利用性をより高くする効果を持つ.しかしながら,再構成操作は手動で行うには複雑である.本論文では,過去のアプリケーション開発時のメソッドの変更履歴に基づく重み付き依存グラフを用いて,フレームワークを自動的に再構成する手法を提案する.本再構成手法では,継承によりクラスを再利用した際,メソッド内部に存在する依存関係が保存あるいは破壊されるかどうかに応じて,依存関係の強さを指す重みを変動させる.重み付き依存グラフの矢印に蓄積された重み値に基づき,もとのフレームワークにおいて,そのまま再利用可能な固定部分と要求に応じて柔軟に変更する可変部分を分離することで,個々の開発者に特化したフレームワークの成熟化を実現する.適切に分離された固定部分と可変部分を含むフレームワークを用いることで,アプリケーション開発における実装の繰返しを軽減できる.本論文における評価実験では,開発者の記述コード量に関して,最大22%(従来手法に比べて約2倍)の減少率を確認した.While refactoring makes application frameworks more reusable,it is complex to do by hand.This paper presents a mechanism that automatically refactors methodsin object-oriented frameworks by using weighted dependence graphs,whose edges are weighted based on the modification histories of the methods.To find the appropriate boundarybetween frozen spots and hot spots in the methods,the value of the weight varies based on whether the dependencein the original methods has been repeatedly preserved or destroyedin the methods of applications created by programmers.The mechanism constructs both template methods that containthe invariant dependence and hook methods that are separatedby eliminating the variant dependence.The new template methods and hook methods tailored toeach programmer save him/her from writing superfluous codewhen reusing a framework.Experimental results show a reduction rate of up to 22%in the number of statements a programmer has to writewhen creating several applications;this percentage is double that achievableby a conventional refactoring technique.