Untangling Fine-Grained Code Changes

被引:0
|
作者
Dias, Martin [1 ]
Bacchelli, Alberto [2 ]
Gousios, Georgios [3 ]
Cassou, Damien [1 ]
Ducasse, Stephane [1 ]
机构
[1] Univ Lille, CRIStAL, RMoD Inria Lille, Nord Europe, Villeneuve, France
[2] Delft Univ Technol, SORCERERS Software Engn Res Grp, NL-2600 AA Delft, Netherlands
[3] Radboud Univ Nijmegen, Digital Secur Grp, NL-6525 ED Nijmegen, Netherlands
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
After working for some time, developers commit their code changes to a version control system. When doing so, they often bundle unrelated changes (e.g., bug fix and refactoring) in a single commit, thus creating a so-called tangled commit. Sharing tangled commits is problematic because it makes review, reversion, and integration of these commits harder and historical analyses of the project less reliable. Researchers have worked at untangling existing commits, i.e., finding which part of a commit relates to which task. In this paper, we contribute to this line of work in two ways: (1) A publicly available dataset of untangled code changes, created with the help of two developers who accurately split their code changes into self contained tasks over a period of four months; (2) a novel approach, EpiceaUntangler, to help developers share untangled commits (aka. atomic commits) by using fine-grained code change information. EpiceaUntangler is based and tested on the publicly available dataset, and further evaluated by deploying it to 7 developers, who used it for 2 weeks. We recorded a median success rate of 91% and average one of 75%, in automatically creating clusters of untangled fine-grained code changes.
引用
收藏
页码:341 / 350
页数:10
相关论文
共 50 条
  • [21] 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
  • [22] Fine-Grained Obfuscation Scheme Recognition on Binary Code
    Tian, Zhenzhou
    Mao, Hengchao
    Huang, Yaqian
    Tian, Jie
    Li, Jinrui
    DIGITAL FORENSICS AND CYBER CRIME, ICDF2C 2021, 2022, 441 : 215 - 228
  • [23] SPDebugger: A Fine-Grained Deterministic Debugger for Concurrency Code
    Lin, Ziyi
    Zhou, Yilei
    Zhong, Hao
    Chen, Yuting
    Yu, Haibo
    Zhao, Jianjun
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2017, E100D (03): : 473 - 482
  • [24] A Fine-Grained Analysis on the Evolutionary Coupling of Cloned Code
    Mondal, Manishankar
    Roy, Chanchal K.
    Schneider, Kevin A.
    2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 51 - 60
  • [25] Fuzzy Fine-grained Code-history Analysis
    Servant, Francisco
    Jones, James A.
    2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 746 - 757
  • [26] Fine-grained interlaced code loading for mobile systems
    Stoops, L
    Mens, T
    D'Hondt, T
    MOBILE AGENTS, PROCEEDINGS, 2002, 2535 : 78 - 92
  • [27] Mining Python fix patterns via analyzing fine-grained source code changes
    Yilin Yang
    Tianxing He
    Yang Feng
    Shaoying Liu
    Baowen Xu
    Empirical Software Engineering, 2022, 27
  • [28] Predicting next changes at the fine-grained level
    Murakami, Hiroaki
    Hotta, Keisuke
    Higo, Yoshiki
    Kusumoto, Shinji
    Proceedings - Asia-Pacific Software Engineering Conference, APSEC, 2014, 1 : 119 - 126
  • [29] Combining Code Context and Fine-grained Code Difference for Commit Message Generation
    Xu, Shengbin
    Yao, Yuan
    Xu, Feng
    Gu, Tianxiao
    Tong, Hanghang
    13TH ASIA-PACIFIC SYMPOSIUM ON INTERNETWARE, INTERNETWARE 2022, 2022, : 242 - 251
  • [30] Tree-based Mining of Fine-grained Code Changes to Detect Unknown Change Patterns
    Higo, Yoshiki
    Matsumoto, Junnosuke
    Kusumoto, Shinji
    2021 28TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2021), 2021, : 61 - 71