• DocumentCode
    2332749
  • 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
  • fYear
    2011
  • fDate
    25-30 Sept. 2011
  • Firstpage
    173
  • Lastpage
    182
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2011 27th IEEE International Conference on
  • Conference_Location
    Williamsburg, VI
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4577-0663-9
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2011.6080784
  • Filename
    6080784