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 条
  • [41] Managing fine-grained changes in software document relationships
    Nguyen, TN
    SERP '05: Proceedings of the 2005 International Conference on Software Engineering Research and Practice, Vols 1 and 2, 2005, : 681 - 687
  • [42] The Co-Evolution of Test Maintenance and Code Maintenance through the lens of Fine-Grained Semantic Changes
    Levin, Stanislav
    Yehudai, Amiram
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 35 - 46
  • [43] FINE-GRAINED MONOLITH
    Louw, Michael
    ARCHITECTURE SOUTH AFRICA, 2019, (96): : 48 - 49
  • [44] Is fine-grained viable?
    Aaldering, M
    EDN, 1997, 42 (02) : 28 - 28
  • [45] Retrieving Data Constraint Implementations Using Fine-Grained Code Patterns
    Florez, Juan Manuel
    Perry, Jonathan
    Wei, Shiyi
    Marcus, Andrian
    Proceedings - International Conference on Software Engineering, 2022, 2022-May : 1893 - 1905
  • [46] Fine-Grained Cryptography
    Degwekar, Akshay
    Vaikuntanathan, Vinod
    Vasudevan, Prashant Nalini
    ADVANCES IN CRYPTOLOGY (CRYPTO 2016), PT III, 2016, 9816 : 533 - 562
  • [47] Code Clone Detection using Coarse and Fine-grained Hybrid Approaches
    Sheneamer, Abdullah
    Kalita, Jugal
    2015 IEEE SEVENTH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND INFORMATION SYSTEMS (ICICIS), 2015, : 472 - 480
  • [48] Fine-Grained Parallel Algorithms in TIM-3D Code
    Voropinov, Andrey Alexandrovich
    Novikov, Ivan Gennadievich
    PARALLEL COMPUTATIONAL TECHNOLOGIES, PCT 2018, 2018, 910 : 147 - 161
  • [49] Retrieving Data Constraint Implementations Using Fine-Grained Code Patterns
    Florez, Juan Manuel
    Perry, Jonathan
    Wei, Shiyi
    Marcus, Andrian
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 1893 - 1905
  • [50] CodeFuse: Multimodal Code Search Model with Fine-grained Attention Alignment
    Zhang, Shengnan
    Li, Shuiyan
    Qi, Rongzhi
    Zhou, Xiaofeng
    2024 IEEE 48TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE, COMPSAC 2024, 2024, : 1290 - 1299