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 条
  • [1] Fine-grained Code Changes Tracking Approach for Code Review
    Wang M.
    Pan X.-L.
    Zou Y.-Z.
    Xie B.
    Ruan Jian Xue Bao/Journal of Software, 2023, 34 (10): : 4705 - 4723
  • [2] A Fine-Grained Analysis on the Inconsistent Changes in Code Clones
    Mondal, Manishankar
    Roy, Chanchal K.
    Schneider, Kevin A.
    2020 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2020), 2020, : 220 - 231
  • [3] ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
    Maruyama, Katsuhisa
    Hayashi, Shinpei
    Omori, Takayuki
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 537 - 541
  • [4] ChangeMacroRecorder: Recording fine-grained textual changes of source code
    Maruyama, Katsuhisa
    Hayashi, Shinpei
    Omori, Takayuki
    25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings, 2018, 2018-March : 537 - 541
  • [5] Spike - A code editor plugin highlighting fine-grained changes
    Escobar, Ronald
    Sandoval Alcocer, Juan Pablo
    Tarner, Hagen
    Beck, Fabian
    Bergel, Alexandre
    2022 WORKING CONFERENCE ON SOFTWARE VISUALIZATION (IEEE VISSOFT), 2022, : 167 - 171
  • [6] Bug prediction method for fine-grained source code changes
    Yuan, Zi, 1600, Chinese Academy of Sciences (25):
  • [7] A fine-grained model for code mobility
    Mascolo, C
    Picco, GP
    Roman, GC
    SOFTWARE ENGINEERING - ESEC/FSE '99, PROCEEDINGS, 1999, 1687 : 39 - 56
  • [8] ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source Code
    Maruyama, Katsuhisa
    Hayashi, Shinpei
    Omori, Takayuki
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2020, E103D (11): : 2262 - 2277
  • [9] ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source Code∗
    Maruyama K.
    Hayashi S.
    Omori T.
    IEICE Transactions on Information and Systems, 2020, E103D (11) : 2262 - 2277
  • [10] Mining Fine-Grained Code Changes to Detect Unknown Change Patterns
    Negara, Stas
    Codoban, Mihai
    Dig, Danny
    Johnson, Ralph E.
    36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 803 - 813