kirancodes.me
To Proof Maintenance & Beyond!

Type migration in large-scale code bases

Ameya Ketkar

Abstract

Type migration is a frequent refactoring activity in which an existing type is replaced with another one throughout the source code. Recent studies have shown that type migration is more frequent in larger codebases. The state-of-the-art type migration tools cannot scale to large projects. Moreover, these tools do not fit into modern software development workflows, e.g., in Continuous Integration. This paper presents an IDE-independent type migration technique that scales to ultra-large-scale codebases through a MapReduce parallel and distributed process. We have implemented our approach in a tool called T2R. We evaluated it on codebases as large as 790 KLOC for specializing functional interfaces. Our results show that T2R is safe, scalable and useful. Open source developers accepted 70 migration patches spanning over 202 files.

BibTeX
@inproceedings{Ketkar:FSE18,
  author    = {Ameya Ketkar},
  title     = {Type migration in large-scale code bases},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {965--967},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers