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 条
  • [41] Large scale graph processing systems: survey and an experimental evaluation
    Batarfi, Omar
    El Shawi, Radwa
    Fayoumi, Ayman G.
    Nouri, Reza
    Beheshti, Seyed-Mehdi-Reza
    Barnawi, Ahmed
    Sakr, Sherif
    [J]. CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2015, 18 (03): : 1189 - 1213
  • [42] Large-scale biological meta-database management
    Pedersen, Edvard
    Bongo, Lars Ailo
    [J]. FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2017, 67 : 481 - 489
  • [43] Approximate Block Coordinate Descent for Large Scale Hierarchical Classification
    Charuvaka, Anveshi
    Rangwala, Huzefa
    [J]. 30TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, VOLS I AND II, 2015, : 837 - 844
  • [44] Towards Large-Scale Face Recognition Based on Videos
    Yalcin, Meltem
    Cevikalp, Hakan
    Yavuz, Hasan Serhan
    [J]. 2015 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOP (ICCVW), 2015, : 1078 - 1085
  • [45] Attitudes of clinicians following large-scale pharmacogenomics implementation
    Peterson, J. F.
    Field, J. R.
    Shi, Y.
    Schildcrout, J. S.
    Denny, J. C.
    McGregor, T. L.
    Van Driest, S. L.
    Pulley, J. M.
    Lubin, I. M.
    Laposata, M.
    Roden, D. M.
    Clayton, E. W.
    [J]. PHARMACOGENOMICS JOURNAL, 2016, 16 (04) : 393 - 398
  • [46] Meta-learning for Large Scale Machine Learning with MapReduce
    Liu, Xuan
    Wang, Xiaoguang
    Matwin, Stan
    Japkowicz, Nathalie
    [J]. 2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA, 2013,
  • [47] Cloud support for large scale e-healthcare systems
    Qutaibah Althebyan
    Qussai Yaseen
    Yaser Jararweh
    Mahmoud Al-Ayyoub
    [J]. Annals of Telecommunications, 2016, 71 : 503 - 515
  • [48] Large Scale Reasoning Using Allen's Interval Algebra
    Mantle, Matthew
    Batsakis, Sotirios
    Antoniou, Grigoris
    [J]. ADVANCES IN SOFT COMPUTING, MICAI 2016, PT II, 2017, 10062 : 29 - 41
  • [49] Personalized recommendation based on large-scale implicit feedback
    [J]. Yin, Jian, 1953, Chinese Academy of Sciences (25): : 1953 - 1966
  • [50] Large Scale Text Clustering Method Study Based on MapReduce
    Sun, Zhanquan
    Li, Feng
    Zhao, Yanling
    Song, Lifeng
    [J]. ADVANCES IN NEURAL NETWORKS - ISNN 2015, 2015, 9377 : 365 - 372