• DocumentCode
    27055
  • Title

    Methodbook: Recommending Move Method Refactorings via Relational Topic Models

  • Author

    Bavota, Gabriele ; Oliveto, Rocco ; Gethers, Malcom ; Poshyvanyk, Denys ; De Lucia, Andrea

  • Author_Institution
    Univ. of Sannio, Benevento, Italy
  • Volume
    40
  • Issue
    7
  • fYear
    2014
  • fDate
    Jul-14
  • Firstpage
    671
  • Lastpage
    694
  • Abstract
    During software maintenance and evolution the internal structure of the software system undergoes continuous changes. These modifications drift the source code away from its original design, thus deteriorating its quality, including cohesion and coupling of classes. Several refactoring methods have been proposed to overcome this problem. In this paper we propose a novel technique to identify Move Method refactoring opportunities and remove the Feature Envy bad smell from source code. Our approach, coined as Methodbook, is based on relational topic models (RTM), a probabilistic technique for representing and modeling topics, documents (in our case methods) and known relationships among these. Methodbook uses RTM to analyze both structural and textual information gleaned from software to better support move method refactoring. We evaluated Methodbook in two case studies. The first study has been executed on six software systems to analyze if the move method operations suggested by Methodbook help to improve the design quality of the systems as captured by quality metrics. The second study has been conducted with eighty developers that evaluated the refactoring recommendations produced by Methodbook. The achieved results indicate that Methodbook provides accurate and meaningful recommendations for move method refactoring operations.
  • Keywords
    software maintenance; software metrics; source code (software); Methodbook; modifications drift; quality metrics; recommending move method refactorings; relational topic model; software development; software maintenance; source code; Couplings; Educational institutions; Electronic mail; Measurement; Object oriented modeling; Software systems; Refactoring; empirical studies; relational topic models;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.60
  • Filename
    6684534