• 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