Leveraging Data Mining Algorithms to Recommend Source Code Changes
This work addresses software developers by providing empirical comparisons of data mining algorithms for code change recommendations, but it is incremental as it builds on existing techniques without major breakthroughs.
This paper tackled the problem of recommending source code changes by evaluating four data mining algorithms (Apriori, FP-Growth, Eclat, Relim) on seven open-source projects, finding that Apriori performs best for large-scale projects and FP-Growth is fastest, but results vary inconsistently across projects.
Context: Recent research has used data mining to develop techniques that can guide developers through source code changes. To the best of our knowledge, very few studies have investigated data mining techniques and--or compared their results with other algorithms or a baseline. Objectives: This paper proposes an automatic method for recommending source code changes using four data mining algorithms. We not only use these algorithms to recommend source code changes, but we also conduct an empirical evaluation. Methods: Our investigation includes seven open-source projects from which we extracted source change history at the file level. We used four widely data mining algorithms \ie{} Apriori, FP-Growth, Eclat, and Relim to compare the algorithms in terms of performance (Precision, Recall and F-measure) and execution time. Results: Our findings provide empirical evidence that while some Frequent Pattern Mining algorithms, such as Apriori may outperform other algorithms in some cases, the results are not consistent throughout all the software projects, which is more likely due to the nature and characteristics of the studied projects, in particular their change history. Conclusion: Apriori seems appropriate for large-scale projects, whereas Eclat appears to be suitable for small-scale projects. Moreover, FP-Growth seems an efficient approach in terms of execution time.