版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Tech Univ Ilmenau Data intens Syst & Visualizat Grp Helmholtzpl D-98693 Ilmenau Thuringia Germany
出 版 物:《SCIENTIFIC REPORTS》 (Sci. Rep.)
年 卷 期:2024年第14卷第1期
页 面:1-17页
核心收录:
基 金:Deutsche Forschungsgemeinschaft
主 题:Code changes Data mining Frequent graph mining Auto-completion
摘 要:Evolving software is a highly complex and creative problem in which a number of different strategies are used to solve the tasks at hand. These strategies and reoccurring coding patterns can offer insights into the process. However, they can be highly project or even task-specific. We aim to identify code change patterns in order to draw conclusions about the software development process. For this, we propose a novel way to calculate high-level file overarching diffs, and a novel way to parallelize pattern mining. In a study of 1000 Java projects, we mined and analyzed a total of 45,000 patterns. We present 13 patterns, showing extreme points of the 7 pattern categories we identified. We found that a large number of high-level change patterns exist and occur frequently. The majority of mined patterns were associated with a specific project and contributor, where and by whom it was more likely to be used. While a large number of different code change patterns are used, only a few, mostly unsurprising ones, are common under all circumstances. The majority of code change patterns are highly specific to different context factors that we further explore.