English

Leveraging Data Mining Algorithms to Recommend Source Code Changes

Software Engineering 2023-05-02 v1 Artificial Intelligence Machine Learning

Abstract

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.

Keywords

Cite

@article{arxiv.2305.00323,
  title  = {Leveraging Data Mining Algorithms to Recommend Source Code Changes},
  author = {AmirHossein Naghshzan and Saeed Khalilazar and Pierre Poilane and Olga Baysal and Latifa Guerrouj and Foutse Khomh},
  journal= {arXiv preprint arXiv:2305.00323},
  year   = {2023}
}