kirancodes.me
To Proof Maintenance & Beyond!

Manual refactoring changes with automated refactoring validation

Xi Ge, Emerson R. Murphy-Hill

Abstract

Refactoring, the practice of applying behavior-preserving changes to existing code, can enhance the quality of software systems. Refactoring tools can automatically perform and check the correctness of refactorings. However, even when developers have these tools, they still perform about 90% of refactorings manually, which is error-prone. To address this problem, we propose a technique called GhostFactor separating transformation and correctness checking: we allow the developer to transform code manually, but check the correctness of her transformation automatically. We implemented our technique as a Visual Studio plugin, then evaluated it with a human study of eight software developers; GhostFactor improved the correctness of manual refactorings by 67%.

BibTeX
@inproceedings{Ge-MurphyHill:ICSE14,
  author    = {Xi Ge and
               Emerson R. Murphy{-}Hill},
  title     = {Manual refactoring changes with automated refactoring validation},
  booktitle = {ICSE},
  pages     = {1095--1105},
  publisher = {{ACM}},
  year      = {2014},
}

Related papers