DocumentCode
351609
Title
Automatic method refactoring using weighted dependence graphs
Author
Maruyama, Katsuhisa ; Shima, Ken-ichi
Author_Institution
NTT Software Labs., Tokyo, Japan
fYear
1999
fDate
22-22 May 1999
Firstpage
236
Lastpage
245
Abstract
While refactoring makes frameworks more reusable, it is complex to do by hand. This paper presents a mechanism that automatically refactors methods in object-oriented frameworks by using weighted dependence graphs, whose edges are weighted based on the modification histories of the methods. To find the appropriate boundary between frozen spots and hot spots in the methods, the value of the weight varies based on whether the dependence in the original methods has been repeatedly preserved or destroyed in the methods of applications created by programmers. The mechanism constructs both template methods that contain the invariant dependence and hook methods that are separated by eliminating the variant dependence. The new template methods and hook methods tailored to each programmer save him/her from writing superfluous code when reusing a framework. Experimental results show a reduction rate of up to 22% in the number of statements a programmer has to write when creating several applications; this percentage is double that achievable by a conventional refactoring technique.
Keywords
object-oriented programming; software reusability; automatic method refactoring; framework reuse; frozen spots; hook methods; hot spots; invariant dependence; modification histories; object-oriented frameworks; statements; template methods; weighted dependence graphs; Application software; Collaborative software; Concrete; History; Laboratories; Object oriented programming; Programming profession; Software reusability; Software systems; Writing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 1999. Proceedings of the 1999 International Conference on
Conference_Location
Los Angeles, CA, USA
ISSN
0270-5257
Print_ISBN
1-58113-074-0
Type
conf
Filename
841013
Link To Document