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 条
  • [1] On Accelerating Ultra-Large-Scale Mining
    Upadhyaya, Ganesha
    Rajan, Hridesh
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING TECHNOLOGIES RESULTS TRACK (ICSE-NIER), 2017, : 39 - 42
  • [2] An ultra-large-scale simulation framework
    Rao, DM
    Wilsey, PA
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2002, 62 (11) : 1670 - 1693
  • [3] Ultra-large-scale syntheses of monodisperse nanocrystals
    Jongnam Park
    Kwangjin An
    Yosun Hwang
    Je-Geun Park
    Han-Jin Noh
    Jae-Young Kim
    Jae-Hoon Park
    Nong-Moon Hwang
    Taeghwan Hyeon
    Nature Materials, 2004, 3 : 891 - 895
  • [4] Ultra-large-scale syntheses of monodisperse nanocrystals
    Park, J
    An, KJ
    Hwang, YS
    Park, JG
    Noh, HJ
    Kim, JY
    Park, JH
    Hwang, NM
    Hyeon, T
    NATURE MATERIALS, 2004, 3 (12) : 891 - 895
  • [5] Ultra-Large-Scale Silicon Optical Switches
    Qiao, Lei
    Tang, Weijie
    Chu, Tao
    2016 IEEE 13TH INTERNATIONAL CONFERENCE ON GROUP IV PHOTONICS (GFP), 2016, : 1 - 2
  • [6] Evolutionary strategies for ultra-large-scale autonomic systems
    Amoretti, Michele
    INFORMATION SCIENCES, 2014, 274 : 1 - 16
  • [7] Nanoelectromechanical DRAM for ultra-large-scale integration (ULSI)
    Jang, JE
    Cha, SN
    Choi, Y
    Butler, TP
    Kang, DJ
    Hasko, DG
    Jung, JE
    Kim, JM
    Amaratunga, GAJ
    IEEE INTERNATIONAL ELECTRON DEVICES MEETING 2005, TECHNICAL DIGEST, 2005, : 269 - 272
  • [8] A Design Framework for Ultra-Large-Scale Autonomic Systems
    Amoretti, Michele
    APPLICATIONS OF EVOLUTIONARY COMPUTATION, PT I, 2011, 6624 : 12 - 21
  • [9] ULTRA-LARGE-SCALE INTEGRATION DEVICE SCALING AND RELIABILITY
    HU, CM
    JOURNAL OF VACUUM SCIENCE & TECHNOLOGY B, 1994, 12 (06): : 3237 - 3241
  • [10] A Robust Infrared Transducer of an Ultra-Large-Scale Array
    Li, Defang
    Zhang, Jinying
    Shi, Qingfeng
    Yuan, Xichen
    Li, Zhuo
    Wang, Xin
    Yang, Suhui
    Hao, Yan
    SENSORS, 2020, 20 (23) : 1 - 21