Type Migration in Ultra-Large-Scale Codebases

被引:15
作者
Ketkar, Ameya [1 ]
Mesbah, Ali [2 ,3 ]
Mazinanian, Davood [2 ]
Dig, Danny [1 ]
Aftandilian, Edward [3 ]
机构
[1] Oregon State Univ, Corvallis, OR 97331 USA
[2] Univ British Columbia, Vancouver, BC, Canada
[3] Google Inc, Mountain View, CA USA
来源
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019) | 2019年
关键词
Refactoring; Type Migration; MapReduce; SUPPORT;
D O I
10.1109/ICSE.2019.00117
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Type migration is a refactoring activity in which an existing type is replaced with another one throughout the source code. Manually performing type migration is tedious as programmers need to find all instances of the type to be migrated, along with its dependencies that propagate over assignment operations, method hierarchies, and subtypes. Existing automated approaches for type migration are not adequate for ultra-large-codebases they perform an intensive whole-program analysis that does not scale. If we could represent the type structure of the program as graphs, then we could employ a MAPREDUCE parallel and distributed process that scales to hundreds of millions of LOC. We implemented this approach as an IDE-independent tool called T2R, which integrates with most build systems. We evaluated T2R's accuracy, usefulness and scalability on seven open source projects and one proprietary codebase of 300M LOC. T2R generated 130 type migration patches, of which the original developers accepted 98%.
引用
收藏
页码:1142 / 1153
页数:12
相关论文
共 50 条
  • [21] Large-scale seismic signal analysis with Hadoop
    Addair, T. G.
    Dodge, D. A.
    Walter, W. R.
    Ruppert, S. D.
    COMPUTERS & GEOSCIENCES, 2014, 66 : 145 - 154
  • [22] A parallel and efficient approach to large scale clone detection
    Sajnani, Hitesh
    Saini, Vaibhav
    Lopes, Cristina
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2015, 27 (06) : 402 - 429
  • [23] MapReduce in MPI for Large-scale graph algorithms
    Plimpton, Steven J.
    Devine, Karen D.
    PARALLEL COMPUTING, 2011, 37 (09) : 610 - 632
  • [24] Detection of Nude Images on Large Scale Using Hadoop
    Ahuja, Chirag
    Baghel, Anurag Singh
    Singh, Gotam
    2015 2ND INTERNATIONAL CONFERENCE ON COMPUTING FOR SUSTAINABLE GLOBAL DEVELOPMENT (INDIACOM), 2015, : 849 - 853
  • [25] Enabling Large-Scale Biomedical Analysis in the Cloud
    Lin, Ying-Chih
    Yu, Chin-Sheng
    Lin, Yen-Jen
    BIOMED RESEARCH INTERNATIONAL, 2013, 2013
  • [26] Relevance Measure in Large-Scale Heterogeneous Networks
    Meng, Xiaofeng
    Shi, Chuan
    Li, Yitong
    Zhang, Lei
    Wu, Bin
    WEB TECHNOLOGIES AND APPLICATIONS, APWEB 2014, 2014, 8709 : 636 - 643
  • [27] HDW: A High Performance Large Scale Data Warehouse
    You, Jinguo
    Xi, Jianqing
    Zhang, Chuan
    Guo, Gengqi
    2008 INTERNATIONAL MULTISYMPOSIUMS ON COMPUTER AND COMPUTATIONAL SCIENCES (IMSCCS), 2008, : 200 - 202
  • [28] Fast Scalable Selection Algorithms for Large Scale Data
    Thompson, Lee Parnell
    Xu, Weijia
    Miranker, Daniel P.
    2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA, 2013,
  • [29] Resident Perceptions toward Tourism Development at a Large Scale
    Li, Rong
    Peng, Li
    Deng, Wei
    SUSTAINABILITY, 2019, 11 (18)
  • [30] Rendezvous algorithms for large-scale modeling and simulation
    Plimpton, Steven J.
    Knight, Christopher
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2021, 147 : 184 - 195