Tree-based Mining of Fine-grained Code Changes to Detect Unknown Change Patterns

被引:2
|
作者
Higo, Yoshiki [1 ]
Matsumoto, Junnosuke [1 ]
Kusumoto, Shinji [1 ]
机构
[1] Osaka Univ, Grad Sch Informat Sci & Technol, Suita, Osaka, Japan
关键词
Mining code change pattern; Repository mining; Edit script; Code change pattern; EFFICIENT ALGORITHM;
D O I
10.1109/APSEC53868.2021.00014
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In software development, source code is repeatedly changed due to various reasons. Similar code changes are called change patterns. Identifying change patterns is useful to support software development in a variety of ways. For example, change patterns can be used to collect ingredients for code completion or automated program repair. Many research studies have proposed various techniques that detect change patterns. For example, Negara et al. proposed a technique that derives change patterns from the edit scripts. Negara's technique can detect fine-grained change patterns, but we consider that there is room to improve their technique. We found that Negara's technique occasionally generates change patterns from structurally-different changes, and we also uncovered that the reason why such change patterns are generated is that their technique performs text comparisons in matching changes. In this study, we propose a new change mining technique to detect change patterns only from structurally-identical changes by taking into account the structure of the abstract syntax trees. We implemented the proposed technique as a tool, TC2P, and we compared it with Negara's technique. As a result, we confirmed that TC2P was not only able to detect change patterns more adequately than the prior technique but also to detect change patterns that were not detected by the prior technique.
引用
收藏
页码:61 / 71
页数:11
相关论文
共 50 条
  • [1] 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
  • [2] Mining Fine-Grained Code Change Patterns Using Multiple Feature Analysis
    Liu, Di
    Feng, Yang
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2025, 35 (01) : 111 - 138
  • [3] 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
  • [4] Mining Python']Python fix patterns via analyzing fine-grained source code changes
    Yang, Yilin
    He, Tianxing
    Feng, Yang
    Liu, Shaoying
    Xu, Baowen
    EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)
  • [5] Change distilling:: Tree differencing for fine-grained source code change extraction
    Fluri, Beat
    Wuersch, Michael
    Pinzger, Martin
    Gall, Harald C.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (11) : 725 - 743
  • [6] Untangling Fine-Grained Code Changes
    Dias, Martin
    Bacchelli, Alberto
    Gousios, Georgios
    Cassou, Damien
    Ducasse, Stephane
    2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, : 341 - 350
  • [7] A Retrospective of ChangeDistiller: Tree Differencing for Fine-Grained Source Code Change Extraction
    Fluri, Beat
    Wuersch, Michael
    Pinzger, Martin
    Gall, Harald
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (03) : 852 - 857
  • [8] Slicing Fine-Grained Code Change History
    Maruyama, Katsuhisa
    Omori, Takayuki
    Hayashi, Shinpei
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2016, E99D (03): : 671 - 687
  • [9] Visualization of Fine-Grained Code Change History
    Yoon, YoungSeok
    Myers, Brad A.
    Koo, Sebon
    2013 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2013), 2013, : 119 - 126
  • [10] Operation-Based, Fine-Grained Version Control Model for Tree-Based Representation
    Nguyen, Tung Thanh
    Nguyen, Hoan Anh
    Pham, Nam H.
    Nguyen, Tien N.
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2010, 6013 : 74 - 90