kirancodes.me
To Proof Maintenance & Beyond!

Recommending refactorings based on team co-maintenance patterns

Gabriele Bavota, Sebastiano Panichella, Nikolaos Tsantalis, Massimiliano Di Penta, Rocco Oliveto, Gerardo Canfora

Abstract

Refactoring aims at restructuring existing source code when undisciplined development activities have deteriorated its comprehensibility and maintainability. There exist various approaches for suggesting refactoring opportunities, based on different sources of information, e.g., structural, semantic, and historical. In this paper we claim that an additional source of information for identifying refactoring opportunities, sometimes orthogonal to the ones mentioned above, is team development activity. When the activity of a team working on common modules is not aligned with the current design structure of a system, it would be possible to recommend appropriate refactoring operations---e.g., extract class/method/package---to adjust the design according to the teams' activity patterns. Results of a preliminary study---conducted in the context of extract class refactoring---show the feasibility of the approach, and also suggest that this new refactoring dimension can be complemented with others to build better refactoring recommendation tools.

BibTeX
@inproceedings{Bavota-al:ASE14,
  author    = {Gabriele Bavota and
               Sebastiano Panichella and
               Nikolaos Tsantalis and
               Massimiliano Di Penta and
               Rocco Oliveto and
               Gerardo Canfora},
  title     = {Recommending refactorings based on team co-maintenance patterns},
  booktitle = {ASE},
  pages     = {337--342},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers