Circumventing Refactoring Masking using Fine-Grained Change Recording

被引:7
|
作者
Soetens, Quinten David [1 ]
Perez, Javier [1 ]
Demeyer, Serge [1 ]
Zaidman, Andy [2 ]
机构
[1] Univ Antwerp, Antwerp, Belgium
[2] Delft Univ Technol, Delft, Netherlands
关键词
Refactoring Reconstruction; Refactoring Masking; Fine Grained Changes; Software Evolution;
D O I
10.1145/2804360.2804362
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Today, refactoring reconstruction techniques are snapshot based: they compare two revisions from a source code management system and calculate the shortest path of edit operations to go from the one to the other. An inherent risk with snapshot-based approaches is that a refactoring may be concealed by later edit operations acting on the same source code entity, a phenomenon we call refactoring masking. In this paper, we performed an experiment to find out at which point refactoring masking occurs and confirmed that a snapshot-based technique misses refactorings when several edit operations are performed on the same source code entity. We present a way of reconstructing refactorings using fine grained changes that are recorded live from an integrated development environment and demonstrate on two cases PMD and Cruisecontrol that our approach is more accurate in a significant number of situations than the state-of-the-art snapshot-based technique RefFinder.
引用
收藏
页码:9 / 18
页数:10
相关论文
共 50 条
  • [1] Consistency Checking for Refactoring from Coarse-Grained Locks to Fine-Grained Locks
    Zhang, Yang
    Liu, Jingjing
    Qi, Lin
    Meredith, Grant
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2024, 34 (07) : 1063 - 1093
  • [2] Fine-grained analysis of change couplings
    Fluri, B
    Gall, HC
    Pinzger, M
    FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, : 66 - 74
  • [3] Consistency Validation Method for Java']Java Fine-Grained Lock Refactoring
    Zhang, Yang
    Li, Chunxia
    Bai, Yu
    IEEE ACCESS, 2021, 9 : 149287 - 149301
  • [4] Automated Refactoring Approach for Fine-grained Lock Based on Pushdown Automaton
    Zhang Y.
    Shao S.
    Zhang D.-W.
    Ruan Jian Xue Bao/Journal of Software, 2021, 32 (12): : 3710 - 3727
  • [5] Fine-Grained Crowdsourcing for Fine-Grained Recognition
    Jia Deng
    Krause, Jonathan
    Li Fei-Fei
    2013 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2013, : 580 - 587
  • [6] Masking in fine-grained leakage models: Construction, implementation and verification
    Barthe G.
    Gourjon M.
    Grégoire B.
    Orlt M.
    Paglialonga C.
    Porth L.
    IACR Transactions on Cryptographic Hardware and Embedded Systems, 2021, 2021 (02): : 189 - 228
  • [7] Change Taxonomy A Fine-Grained Classification of Software Change
    Elkholy, Mohamed
    Elfatatry, Ahmed
    IT PROFESSIONAL, 2018, 20 (04) : 28 - 36
  • [8] Refactoring-based learning for fine-grained lock in concurrent programming course
    Zhang, Yang
    COMPUTER APPLICATIONS IN ENGINEERING EDUCATION, 2022, 30 (02) : 505 - 516
  • [9] Representation Learning for Fine-Grained Change Detection
    O'Mahony, Niall
    Campbell, Sean
    Krpalkova, Lenka
    Carvalho, Anderson
    Walsh, Joseph
    Riordan, Daniel
    SENSORS, 2021, 21 (13)
  • [10] Slicing Fine-Grained Code Change History
    Maruyama, Katsuhisa
    Omori, Takayuki
    Hayashi, Shinpei
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2016, E99D (03): : 671 - 687