Title :
Identifying overly strong conditions in refactoring implementations
Author :
Soares, Gustavo ; Mongiovi, Melina ; Gheyi, Rohit
Author_Institution :
Dept. of Comput. Syst., Fed. Univ. of Campina Grande, Campina Grande, Brazil
Abstract :
Each refactoring implementation must check a number of conditions to guarantee behavior preservation. However, specifying and checking them are difficult. Sometimes refactoring tool developers may define overly strong conditions that prevent useful behavior-preserving transformations to be performed. We propose an approach for identifying overly strong conditions in refactoring implementations. We automatically generate a number of programs as test inputs for refactoring implementations. Then, we apply the same refactoring to each test input using two different implementations, and compare both results. We use Safe Refactor to evaluate whether a transformation preserves behavior. We evaluated our approach in 10 kinds of refactorings for Java implemented by three tools: Eclipse and Netbeans, and the JastAdd Refactoring Tool (JRRT). In a sample of 42,774 transformations, we identified 17 and 7 kinds of overly strong conditions in Eclipse and JRRT, respectively.
Keywords :
Java; formal specification; software maintenance; software tools; Eclipse; JastAdd Refactoring Tool; Java; Netbeans; behavior preservation; refactoring checking; refactoring specification; refactoring tool; safe refactor; useful behavior-preserving transformations; Analytical models; Automatic programming; Java; Metals; Remuneration; Testing; Unified modeling language;
Conference_Titel :
Software Maintenance (ICSM), 2011 27th IEEE International Conference on
Conference_Location :
Williamsburg, VI
Print_ISBN :
978-1-4577-0663-9
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2011.6080784