Intelligent Knowledge Exploration and Processing

Intelligent Knowledge Exploration and Processing

An overview of data mining tools and methods effective on software mining repositories

Document Type : Original Article

Author
Computer engineering Department, Research and Science University, Tehran, Iran
Abstract
Software mining repositories is the operation of extracting and analyzing valuable data from software repositories. Therefore, it is very important to use appropriate data-mining tools and methods to properly explore software repositories. The data obtained from software mining repositories is useful for software development, and software development is the ultimate goal of software mining repositories. In this research, the quantity and quality of researches in the use of data mining tools and methods have been analyzed and evaluated using the Google Scholar database. The results show that tools such as Eclipse, Weka, RapidMiner, GNUPlot, programs such as Perl and R are widely used by researchers for the purpose of mining software repositories, which improve the exploration of software repositories and the evolution of code and Version control and tracking bugs and correct code changes are very effective. The number of researches conducted with the desired tool is less than half of the number of researches conducted with other tools. which relatively shows the researchers' good acceptance of the tools investigated in this research. In order to extract data related to software mining repositories, criteria of time period and subject range have been used. Two categories of time period are considered separately, the first category is from 2007 to 2012, and the second category is from 2007 to 2024.
Keywords

1.      Vidoni, M. (2022). A systematic process for Mining Software Repositories: Results from a systematic literature review. Information and Software Technology144, 106791.
2.      Sun, X., Li, B., Leung, H., Li, B., & Li, Y. (2015). MSR4SM: Using topic models to effectively mining software repositories for software maintenance tasks. Information and Software Technology66, 1-12.
3.      Yu, L. (2012). An evolutionary programming based asymmetric weighted least squares support vector machine ensemble learning methodology for software repository mining. Information Sciences191, 31-46.
4.      Shang, W., Adams, B., & Hassan, A. E. (2012). Using Pig as a data preparation language for large-scale mining software repositories studies: An experience report. Journal of Systems and Software85(10), 2195-2204.
5.      Vandecruys, O., Martens, D., Baesens, B., Mues, C., De Backer, M., & Haesen, R. (2008). Mining software repositories for comprehensible software fault prediction models. Journal of Systems and software81(5), 823-839.
6.      Meqdadi, O., Alhindawi, N., Alsakran, J., Saifan, A., & Migdadi, H. (2019). Mining software repositories for adaptive change commits using machine learning techniques. Information and Software Technology109, 80-91.
7.      Voinea, L., & Telea, A. (2007). Visual data mining and analysis of software repositories. Computers & Graphics31(3), 410-428.
8.      Bakar, N. S. A. A. (2011). Using language-based search in mining large software repositories. Procedia-Social and Behavioral Sciences27, 160-168.
9.      De Luca, M., Fasolino, A. R., Ferraro, A., Moscato, V., Sperlí, G., & Tramontana, P. (2023). A community detection approach based on network representation learning for repository mining. Expert Systems with Applications231, 120597.
10.  Polaczek, J., & Sosnowski, J. (2021). Exploring the software repositories of embedded systems: An industrial experience. Information and Software Technology131, 106489.
11.  Assunção, W. K., Krüger, J., Mosser, S., & Selaoui, S. (2023). How do microservices evolve? An empirical analysis of changes in open-source microservice repositories. Journal of Systems and Software204, 111788.
12.  Goeminne, M., & Mens, T. (2013). A comparison of identity merge algorithms for software repositories. Science of Computer Programming78(8), 971-986.
13.  Goyal, A., & Sardana, N. (2020). Performance assessment of bug fixing process in open source repositories. Procedia Computer Science167, 2070-2079.
14.  Prechelt, L., & Pepper, A. (2014). Why software repositories are not used for defect-insertion circumstance analysis more often: A case study. Information and Software Technology56(10), 1377-1389.
15.  Ampatzoglou, A., Michou, O., & Stamelos, I. (2013). Building and mining a repository of design pattern instances: Practical and research benefits. Entertainment Computing4(2), 131-142.
16.  Alqahtani, S. S., Eghan, E. E., & Rilling, J. (2016). Tracing known security vulnerabilities in software repositories–A Semantic Web enabled modeling approach. Science of Computer Programming121, 153-175.
17.  Spadini, D., Aniche, M., & Bacchelli, A. (2018, October). PyDriller: Python framework for mining software repositories. In Proceedings of the 2018 26th ACM Joint meeting on european software engineering conference and symposium on the foundations of software engineering (pp. 908-911).
18.  Chaturvedi, K. K., Sing, V. B., & Singh, P. (2013, June). Tools in mining software repositories. In 2013 13th International Conference on Computational Science and Its Applications (pp. 89-98). IEEE.
19.  Sokol, F. Z., Aniche, M. F., & Gerosa, M. A. (2013, September). MetricMiner: Supporting researchers in mining software repositories. In 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) (pp. 142-146). IEEE.
20.  Kagdi, H., Maletic, J. I., & Sharif, B. (2007, June). Mining software repositories for traceability links. In 15th IEEE International Conference on Program Comprehension (ICPC'07) (pp. 145-154). IEEE.
21.  Thomas, S. W. (2011, May). Mining software repositories using topic models. In Proceedings of the 33rd International Conference on Software Engineering (pp. 1138-1139).
22.  Olatunji, S. O., Idrees, S. U., Al-Ghamdi, Y. S., & Al-Ghamdi, J. S. A. (2010). Mining software repositories–a comparative analysis. International Journal of Computer Science and Network Security10(8), 161-174.
23.  Kiefer, C., Bernstein, A., & Tappolet, J. (2007, May). Mining software repositories with isparol and a software evolution ontology. In Fourth International Workshop on Mining Software Repositories (MSR'07: ICSE Workshops 2007) (pp. 10-10). IEEE.
24.  de F. Farias, M. A., Novais, R., Júnior, M. C., da Silva Carvalho, L. P., Mendonça, M., & Spínola, R. O. (2016, April). A systematic mapping study on mining software repositories. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (pp. 1472-1479).
25.  Mittal, M., & Sureka, A. (2014, May). Process mining software repositories from student projects in an undergraduate software engineering course. In Companion proceedings of the 36th international conference on software engineering (pp. 344-353).
26.  Canfora, G., & Cerulo, L. (2005, September). Impact analysis by mining software and change request repositories. In 11th IEEE International Software Metrics Symposium (METRICS'05) (pp. 9-pp). IEEE.
27.  Meng, X., Miller, B. P., Williams, W. R., & Bernat, A. R. (2013, September). Mining software repositories for accurate authorship. In 2013 IEEE international conference on software maintenance (pp. 250-259). IEEE.
28.  Keivanloo, I., Forbes, C., Hmood, A., Erfani, M., Neal, C., Peristerakis, G., & Rilling, J. (2012, June). A linked data platform for mining software repositories. In 2012 9th IEEE Working Conference on Mining Software Repositories (MSR) (pp. 32-35). IEEE.
29.  Gold, N. E., & Krinke, J. (2022). Ethics in the mining of software repositories. Empirical Software Engineering27(1), 17.
30.  Anbalagan, P., & Vouk, M. (2009, May). On mining data across software repositories. In 2009 6th IEEE International Working Conference on Mining Software Repositories (pp. 171-174). IEEE.
31.  Wang, T., Wang, H., Yin, G., Ling, C. X., Li, X., & Zou, P. (2013, September). Mining software profile across multiple repositories for hierarchical categorization. In 2013 IEEE International Conference on Software Maintenance (pp. 240-249). IEEE.
32.  Zaidman, A., Van Rompaey, B., Demeyer, S., & Van Deursen, A. (2008, April). Mining software repositories to study co-evolution of production & test code. In 2008 1st international conference on software testing, verification, and validation (pp. 220-229). IEEE.
33.  Dyer, R., Nguyen, H. A., Rajan, H., & Nguyen, T. N. (2015). Boa: Ultra-large-scale software repository and source-code mining. ACM Transactions on Software Engineering and Methodology (TOSEM)25(1), 1-34.
34.  White, M., Vendome, C., Linares-Vásquez, M., & Poshyvanyk, D. (2015, May). Toward deep learning software repositories. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories (pp. 334-345). IEEE.
35.  Robbes, R. (2007, May). Mining a change-based software repository. In Fourth International Workshop on Mining Software Repositories (MSR'07: ICSE Workshops 2007) (pp. 15-15). IEEE.
36.  Santos, A., Souza, M., Oliveira, J., & Figueiredo, E. (2018, September). Mining software repositories to identify library experts. In Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse (pp. 83-91).
37.  Mahadi, A., Ernst, N. A., & Tongay, K. (2022). Conclusion stability for natural language based mining of design discussions. Empirical Software Engineering27, 1-42.