Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis

Publication typeJournal Article
Publication date2024-11-27
scimago Q3
wos Q4
SJR0.206
CiteScore1.8
Impact factor0.6
ISSN02181940, 17936403
Abstract

Maintaining high code quality is a crucial concern in software development. Existing studies demonstrated that developers frequently face recurrent bugs and adopt similar fix measures, known as code change patterns. As an essential static analysis technique, code pattern mining supports various tasks, including code refactoring, automated program repair, and defect prediction, thus significantly improving software development processes. A prevalent approach to identifying code patterns involves translating code changes to edit actions into a Bag-of-Words (BoW) model. However, when applied to open-source projects, this method exhibits several limitations. For instance, it overlooks function call information and disregards feature word order. This study introduces MIFA, a novel technique for mining code change patterns using multiple feature analysis. MIFA extends existing BoW methods by incorporating analysis of function calls and overall changes in the Abstract Syntax Tree (AST) structure. We selected 20 popular Python projects and evaluated MIFA in both intra-project and cross-project scenarios. The experimental results indicate that: (1) MIFA achieved higher silhouette coefficients and F1 scores compared to other state-of-the-art methods, demonstrating a superior accuracy; (2) MIFA can assist developers in detecting unique change patterns more earlier, with an efficiency improvement of over 40% compared to random sampling. Additionally, we discussed critical parameters for measuring the similarity of code changes, guiding users to apply our method effectively.

Found 

Are you a researcher?

Create a profile to get free access to personal recommendations for colleagues and new articles.
Metrics
0
Share
Cite this
GOST |
Cite this
GOST Copy
Liu D., Feng Y. Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis // International Journal of Software Engineering and Knowledge Engineering. 2024. Vol. 35. No. 01. pp. 111-138.
GOST all authors (up to 50) Copy
Liu D., Feng Y. Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis // International Journal of Software Engineering and Knowledge Engineering. 2024. Vol. 35. No. 01. pp. 111-138.
RIS |
Cite this
RIS Copy
TY - JOUR
DO - 10.1142/s0218194024500505
UR - https://www.worldscientific.com/doi/10.1142/S0218194024500505
TI - Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis
T2 - International Journal of Software Engineering and Knowledge Engineering
AU - Liu, Di
AU - Feng, Yang
PY - 2024
DA - 2024/11/27
PB - World Scientific
SP - 111-138
IS - 01
VL - 35
SN - 0218-1940
SN - 1793-6403
ER -
BibTex |
Cite this
BibTex (up to 50 authors) Copy
@article{2024_Liu,
author = {Di Liu and Yang Feng},
title = {Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis},
journal = {International Journal of Software Engineering and Knowledge Engineering},
year = {2024},
volume = {35},
publisher = {World Scientific},
month = {nov},
url = {https://www.worldscientific.com/doi/10.1142/S0218194024500505},
number = {01},
pages = {111--138},
doi = {10.1142/s0218194024500505}
}
MLA
Cite this
MLA Copy
Liu, Di, et al. “Mining Fine-grained Code Change Patterns Using Multiple Feature Analysis.” International Journal of Software Engineering and Knowledge Engineering, vol. 35, no. 01, Nov. 2024, pp. 111-138. https://www.worldscientific.com/doi/10.1142/S0218194024500505.