Identifying Composite Refactorings with A Scripting Language
Automatic refactoring techniques guarantee the cor rectness and effectiveness for the transformation of legacy software systems. Our experience of identifying composite refactorings shows that existing techniques can not easily be used to identify them because of the complexity of their composition and the behavior preservation requirement Inspired by the HTN model which is adopted to formalize the behaviors of composite refactorings, we design a scripting language FLAT, which expresses users solution for refactoring identification. It provides expressive and understandable representation for composite refactorings. To perform this language, we implement its interpreter EXTRACTOR, an extensible framework with template mechanism. Refactoring compositions are identified by EXTRACTOR constructor, while low-level logic operations on programs intermediate representation are provided by logic query engine. We evaluate EXTRACTOR through various cases and prove its effectiveness of identifying composite refactorings even for aspect-oriented programs.
software analysis software refactoring scripting language logic transformation
Jin Huang Federico Carminati Latchezar Betev Cinzia Luzzi Yansheng Lu Daicui Zhou
Huazhong University of Science and Technology, China CERN, 1211, Geneva 23, Switzerland University of Ferrara, Ital Hua-Zhong Normal University, China
国际会议
西安
英文
267-271
2011-05-13(万方平台首次上网日期,不代表论文的发表时间)