DocumentCode
2672552
Title
Template-based reconstruction of complex refactorings
Author
Prete, Kyle ; Rachatasumrit, Napol ; Sudan, Nikita ; Kim, Miryung
Author_Institution
Dept. of Electr. & Comput. Eng., Univ. of Texas at Austin, Austin, TX, USA
fYear
2010
fDate
12-18 Sept. 2010
Firstpage
1
Lastpage
10
Abstract
Knowing which types of refactoring occurred between two program versions can help programmers better understand code changes. Our survey of refactoring identification techniques found that existing techniques cannot easily identify complex refactorings, such as an replace conditional with polymorphism refactoring, which consist of a set of atomic refactorings. This paper presents REF-FINDER that identifies complex refactorings between two program versions using a template-based refactoring reconstruction approach - REF-FINDER expresses each refactoring type in terms of template logic rules and uses a logic programming engine to infer concrete refactoring instances. It currently supports sixty three refactoring types from Fowler´s catalog, showing the most comprehensive coverage among existing techniques. The evaluation using code examples from Fowler´s catalog and open source project histories shows that REF-FINDER identifies refactorings with an overall precision of 0.79 and recall of 0.95.
Keywords
logic programming; software maintenance; Fowler catalog; REF-FINDER; atomic refactorings; complex refactorings; logic programming engine; polymorphism refactoring; refactoring identification techniques; template logic rules; template-based refactoring reconstruction approach; Algorithm design and analysis; Catalogs; Cloning; Concrete; Databases; Feature extraction; Software;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2010 IEEE International Conference on
Conference_Location
Timisoara
ISSN
1063-6773
Print_ISBN
978-1-4244-8630-4
Electronic_ISBN
1063-6773
Type
conf
DOI
10.1109/ICSM.2010.5609577
Filename
5609577
Link To Document