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 条
  • [31] Large-Scale Deep Belief Nets With MapReduce
    Zhang, Kunlei
    Chen, Xue-Wen
    IEEE ACCESS, 2014, 2 : 395 - 403
  • [32] Dynamic visualization of large scale tactical network simulations
    Dasari, Venkat
    Allen, Stephen
    Brown, Scott E.
    2019 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2019, : 3951 - 3954
  • [33] 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
  • [34] Synergistic Partitioning in Multiple Large Scale Social Networks
    Jin, Songchang
    Zhang, Jiawei
    Yu, Philip S.
    Yang, Shuqiang
    Li, Aiping
    2014 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2014, : 281 - 290
  • [35] Large-Scale Text Similarity Computing with Spark
    Bao, Xiaoan
    Dai, Shichao
    Zhang, Na
    Yu, Chenghai
    INTERNATIONAL JOURNAL OF GRID AND DISTRIBUTED COMPUTING, 2016, 9 (04): : 95 - 100
  • [36] Design Of Large Scale Mobile Advertising Recommendation System
    Tao, Ye
    PROCEEDINGS OF 2015 4TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT 2015), 2015, : 763 - 767
  • [37] Large scale extreme learning machine using MapReduce
    Dong, Li
    Zhisong, Pan
    Zhantao, Deng
    Yanyan, Zhang
    International Journal of Digital Content Technology and its Applications, 2012, 6 (20) : 62 - 70
  • [38] Centrality Approach for Community Detection in Large Scale Network
    Behera, Ranjan Kumar
    Naik, Debadatta
    Sahoo, Bibhudatta
    Rath, Santanu Ku.
    COMPUTE 2016, 2016, : 115 - 124
  • [39] Large-Scale Training Framework for Video Annotation
    Hwang, Seong Jae
    Lee, Joonseok
    Varadarajan, Balakrishnan
    Gordon, Ariel
    Xu, Zheng
    Natsev, Apostol
    KDD'19: PROCEEDINGS OF THE 25TH ACM SIGKDD INTERNATIONAL CONFERENCCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2019, : 2394 - 2402
  • [40] Hadoop-HBase for Large-Scale Data
    Vora, Mehul Nalin
    2011 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT), VOLS 1-4, 2012, : 601 - 605