Refactoring-Aware Block Tracking in Commit History

被引:0
|
作者
Hasan, Mohammed Tayeeb [1 ]
Tsantalis, Nikolaos [1 ]
Alikhanifard, Pouria [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ H3G 1M8, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Codes; History; Software; Accuracy; Containers; Computer bugs; Source coding; Software engineering; !text type='Java']Java[!/text; Target tracking; Commit change history; refactoring-aware source code tracking; change oracle;
D O I
10.1109/TSE.2024.3484586
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Tracking the change history of statements in the commits of a project repository is in many cases useful for supporting various software maintenance, comprehension, and evolution tasks. A high level of accuracy can facilitate the adoption of code tracking tools by developers and researchers. To this end, we propose CodeTracker, a refactoring-aware tool that can generate the commit change history for code blocks. To evaluate its accuracy, we created an oracle with the change history of 1,280 code blocks found within 200 methods from 20 popular open-source project repositories. Moreover, we created a baseline based on the current state-of-the-art Abstract Syntax Tree diff tool, namely GumTree 3.0, in order to compare the accuracy and execution time. Our experiments have shown that CodeTracker has a considerably higher precision/recall and faster execution time than the GumTree-based baseline, and can extract the complete change history of a code block with a precision and recall of 99.5% within 3.6 seconds on average.
引用
收藏
页码:3330 / 3350
页数:21
相关论文
共 50 条
  • [41] Recommending Clones for Refactoring Using Design, Context, and History
    Wang, Wei
    Godfrey, Michael W.
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 331 - 340
  • [42] Context-aware Retrieval-based Deep Commit Message Generation
    Wang, Haoye
    Xia, Xin
    Lo, David
    He, Qiang
    Wang, Xinyu
    Grundy, John
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2021, 30 (04)
  • [43] Performance-Aware Refactoring of Cloud-based Big Data Applications
    Li, Chen
    Casale, Giuliano
    PROCEEDINGS 2017 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND COMPUTATIONAL INTELLIGENCE (CSCI), 2017, : 1505 - 1510
  • [44] Object-Aware Tracking
    Bogun, Ivan
    Ribeiro, Eraldo
    2016 23RD INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR), 2016, : 1695 - 1700
  • [45] Context Aware Detection and Tracking
    Tavanai, Aryana
    Sridhar, Muralikrishna
    Gu, Feng
    Cohn, Anthony G.
    Hogg, David C.
    2014 22ND INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR), 2014, : 2197 - 2202
  • [46] Finding Extract Method Refactoring Opportunities by Analyzing Development History
    Imazato, Ayaka
    Higo, Yoshiki
    Hotta, Keisuke
    Kusumoto, Shinji
    2017 IEEE 41ST ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1, 2017, : 190 - 195
  • [47] Aids for Refactoring Understanding with Extended Operation History Graph.
    Omori T.
    Ohnishi A.
    Computer Software, 2023, 40 (01) : 97 - 116
  • [48] BulkCompactor: Optimized Deterministic Execution via Conflict-Aware Commit of Atomic Blocks
    Duan, Yuelu
    Zhou, Xing
    Ahn, Wonsun
    Torrellas, Josep
    2012 IEEE 18TH INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA), 2012, : 361 - 372
  • [49] Conflict-aware Optimal Scheduling of Code Clone Refactoring: A Constraint Programming Approach
    Zibran, Minhaz F.
    Roy, Chanchal K.
    2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, : 266 - 269
  • [50] SPCP-Miner: A Tool for Mining Code Clones That Are Important for Refactoring or Tracking
    Mondal, Manishankar
    Roy, Chanchal K.
    Schneider, Kevin A.
    2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, : 484 - 488