اکتشاف و پردازش هوشمند دانش

اکتشاف و پردازش هوشمند دانش

مروری بر ابزارها و روش های داده کاوی موثر بر مخازن کاوی نرم افزار

نوع مقاله : مقاله پژوهشی

نویسنده
گروه مهندسی کامپیوتر، دانشگاه علوم و تحقیقات تهران، ایران
چکیده
مخازن‌کاوی نرم‌افزار، عملیات استخراج و تحلیل داده ارزشمند از مخازن نرم‌افزاری است. از این رو استفاده از ابزارها و روش‌های داده-کاوی مناسب برای کاوش درست مخازن نرم افزاری بسیار حائز اهمیت است. داده‌هایی که از مخازن‌کاوی نرم‌افزار بدست می‌آید، برای توسعه نرم‌افزار مفید می‌باشد و توسعه نرم‌افزار نیز هدف نهایی مخازن‌کاوی نرم افزار است. در این تحقیق کمیت و کیفیت پژوهش‌ها در استفاده از ابزارها و روش‌های داده‌کاوی با استفاده از پایگاه گوگل اسکولار مورد تحلیل و ارزیابی قرار گرفته است. نتایج نشان می‌دهد که ابزارهایی چون Eclips، Weka، RapidMiner ، GNUPlot، برنامه‌هایی چون Perl و R توسط محققین به منظور مخازن‌کاوی نرم افزار بسیار مورد کاربرد است که در بهیته‌سازی کاوش مخازن نرم‌افزاری و تکامل کد و کنترل نسخه و ردیابی اشکال و تغییرات صحیح کد بسیار موثر می‌باشد. تعداد پژوهش‌های صورت گرفته با ابزار مورد نظر کمتر از نیمی از تعداد پژوهش‌ها انجام شده با سایر ابزارها را در بر می‌گیرد، که به نسبت نشان دهنده استقبال خوب محققین از ابزارهای مورد بررسی در این پژوهش می‌باشد.
کلیدواژه‌ها

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.