VIGHUB: a Technology Forecasting Tool based on Mining Software Repositories
DOI:
https://doi.org/10.17981/ingecuc.18.1.2022.07Keywords:
Mining Software Repositories, Technology Forecasting, Review of technologies, Technological maps, GitHubAbstract
Introduction: Academics, developers, and companies focused on technological development seek to know what exists and what is still missing in this field. One of the ways they use is the review of bibliographic sources (state-of-the art). In this sense, a tool was developed that allows the current state to be identified semi-automatically.
Objective: This article proposes a tool that extracts information from repositories hosted on GitHub. It analyzes the data using computational techniques and presents the results through visualizations that identify the field's technological evolution studied through the most used programming languages, central repositories, and organizations.
Method: A model based on Mining Software Repositories (MSR) is used, which integrates an architecture based on microservices, using different programming languages, which allowed the construction of the VigHub tool. The model focuses on four aspects: Selection of a topic, extraction of the data source, analysis of information using computational techniques, and finally, the results are communicated through visualizations.
Results: The VigHub tool was available online to carry out 3 case studies. The first in the academy, where technologies, programming languages, users, and companies interested in developing VLE's (Virtual Learning Environment) were identified from 2011 to 2021. The second and third were carried out by companies (industrial environment), which stated that using the VigHub tool supports data analysis and valuable results identification.
Conclusions: A tool that allows identifying a part of the current state of technology could be a helpful tool for academics, developers, and companies, saving human resources, time, and possible repeated developments---code reuse. The VigHub tool aims to support the construction of state-of-the-art. Its results are complementary to the traditional method.
Downloads
References
A. Peralta & F. P. Romero, “Decision making from knowledge obtained after previous behavior analysis. Practical implementation to project management of software development,” Rev Cintex, vol. 20, no. 2, pp. 97–111, Nov. 2015. https://revistas.pascualbravo.edu.co/index.php/cintex/article/view/26
D. Güemes-Peña, C. López-Nozal, R. Marticorena-Sánchez & J. Maudes-Raedo, “Emerging topics in mining software repositories: Machine learning in software repositories and datasets”, Prog Artif Intell, vol. 7, no. 3, pp. 237–247, Mar. 2018. https://doi.org/10.1007/s13748-018-0147-7
O. Meqdadi, N. Alhindawi, J. Alsakran, A. Saifan & H. Migdadi, “Mining software repositories for adaptive change commits using machine learning techniques,” Inf Softw Technol, vol. 109, pp. 80–91, May. 2019. https://doi.org/10.1016/j.infsof.2019.01.008
M. Garriga, “Towards a taxonomy of microservices architectures,” presented at International Conference on Software Engineering and Formal Methods, SEFM, TLS, FR, 27-29 Jun. 2018. https://doi.org/10.1007/978-3-319-74781-1_15
K. Bakshi, “Microservices-based software architecture and approaches,” presented at Aerospace Conference Proceedings, IEEE, Big Sky, MT, 4-11 Mar. 2017. https://doi.org/10.1109/AERO.2017.7943959
Y. San Juan & F. Romero, “Management, extraction and storing sources for technological watch and competitive intelligence,” presented at VIII Congreso Internacional de Tecnologías y Contenidos Multimedia, CITCM, HAB, CU, 19-23 Mar. 2018.
M. A. Saied, A. Ouni, H. Sahraoui, R. G. Kula, K. Inoue & D. Lo, “Improving reusability of software libraries through usage pattern mining,” JSS, vol. 145, pp. 164–179, Nov. 2018. https://doi.org/10.1016/j.jss.2018.08.032
R. Dyer, H. A. Nguyen, H. Rajan & T. N. Nguyen, “Boa: Ultra-large-scale software repository and source-code mining,” ACM Trans Softw Eng Methodol, vol. 25, no. 1, pp. 1–34, Dec. 2015. https://doi.org/10.1145/2803171
F. Z. Sokol, M. F. Aniche & M. A. Gerosa, “MetricMiner: Supporting researchers in mining software repositories,” presented at 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation, SCAM, EIN, NL, 22-23 Sept. 013. https://doi.org/10.1109/SCAM.2013.6648195
C. M. Filho, “Kalibro: Uma ferramenta de configuração e interpretação de métricas de código-fonte,” Projeto de conclusão de curso, USP, SP, BR, 2009. https://www.ime.usp.br/~cef/mac499-09/monografias/carlos-morais/Monografia.pdf
D. S. Chawla, “The unsung heroes of scientific software,” Nature, vol. 529, no. 7584, pp. 115–116, Jan. 2016. https://doi.org/10.1038/529115a
D. Spadini, M. Aniche & A. Bacchelli, “PyDriller: Python framework for mining software repositories,” presented at 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, NYC, NY, USA, 4-9 Nov. 2018. https://doi.org/10.1145/3236024.3264598
S. Dueñas, V. Cosentino, G. Robles & J. M. Gonzalez-Barahona, “Perceval: software project data at your will,” presented at 40th International Conference on Software Engineering: Companion, ICSE-Companion, GBG, SE, 27 May.-3 Jun. 018. https://ieeexplore.ieee.org/document/8449430
J. J. Ramírez-Echeverry, F. Restrepo-Calle & F. A. González, “Uncode: interactive system for learning and automatic evaluation of computer programming skills”, presented at 10th International Conference on Education and New Learning Technologies, EDULEARN, PMI, ES, 2-4 Jul. 2018. https://doi.org/10.21125/edulearn.2018.1632
E. Ortíz, “La evaluación del impacto científico en las investigaciones educativas a través de un estudio de caso,” REDIE, vol. 17, no. 2, pp. 89–100, May. 2015. https://www.scienceopen.com/document?vid=0de24d4c-b9e3-4739-b394-346f7480b4fe
A. Berges-García, J. M. Meneses-Chaus & J. F. Martínez-Ortega, “Methodology for evaluating functions and products for technology watch and competitive intelligence (TW/CI) and their implementation through web,” PEI, vol. 25, no. 1, pp. 103–113, Jan. 2016. https://doi.org/10.3145/epi.2016.ene.10
SpaCy, “Industrial-Strength Natural Language Processing in Python,” Accessed: Oct. 18, 2019. [Online]. Available: https://spacy.io/
Google Developers. “Google Charts.” Accessed: 2018. [Online]. Available: https://developers.google.com/chart
P. T. Goeser, F. G. Hamza-Lup, W. M. Johnson & D. Scharfer, “VIEW: A Virtual Interactive Web-based Learning Environment for Engineering,” AEEE, vol. 2, no. 3, pp. 1–24, Dec. 2011. https://doi.org/10.48550/arXiv.1811.07463
WISE-Community, “WISE VLE,” Feb. 25, 2015. [Online]. Available: https://github.com/WISE-Community/WISE-VLE--Deprecated--
F. Supriadi, M. Agreindra Helmiawan, Y. Y. Sofiyan & A. Guntara, “A Model of Virtual Learning Environments Using Micro-Lecture, MOODLE, and SLOODLE,” presented at 8th International Conference on Cyber and IT Service Management, CITSM, PGX, ID, 23-24 Dec. 020. https://doi.org/10.1109/CITSM50537.2020.9268785
Knowm, “Proprioceptron,” Oct. 27, 2012. [Online]. Available: https://github.com/knowm/Proprioceptron
Yjwong, “com.nuscomputing.ivlelapi,” Aug. 14, 2012. [Online]. Available: https://github.com/yjwong/com.nuscomputing.ivlelapi
thieves, “WikiVLE,” Jun. 23, 2012. [Online]. Available: https://github.com/40thieves/WikiVLE
Jbittencourt, “massinha,” Jul. 5, 2012. [Online]. Available: https://github.com/jbittencourt/massinha
Conel, “moodle-1.9,” Aug. 20, 2012. [Online]. Available: https://github.com/conel/moodle-1.9
Elkuku, “JDevAndLearn,” Jul. 28, 2012. [Online]. Available: https://github.com/elkuku/JDevAndLearn
Champiewebfolio, “CloudPod,” Jan. 6, 2013. [Online]. Available: https://github.com/champiewebfolio/CloudPod
RheoDesign, “AAVS-Beijing,” Oct. 23, 2013. [Online]. Available: https://github.com/RheoDesign/AAVS-Beijing
Roxolan, “vlemean,” Aug. 11, 2015. [Online]. Available: https://github.com/roxolan/vlemean
luistp001, “LT-Autograder,” Sep. 16, 2012. [Online]. Available: https://github.com/luistp001/LT-Autograder
StephenBergeron, “RubySoup,” Apr. 1, 2014. [Online]. Available: https://github.com/StephenBergeron/RubySoup
Deepapanwar, “vle,” Jun. 16, 2015. [Online]. Available: https://github.com/deepapanwar/vle
Soyjun, “Implement-ODR-protocol,” Apr. 10, 2015. [Online]. Available: https://github.com/SOYJUN/Implement-ODR-protocol
Brukmoon, “eduqo-vle,” Apr. 23, 2015. [Online]. Available: https://github.com/Brukmoon/eduqo-vle
Sykonba, “PeerReviewSystem,” Nov. 2, 2015. [Online]. Available: https://github.com/Sykonba/PeerReviewSystem
DavidStCox, “nlp-vle,” Apr. 10, 2017. [Online]. Available: https://github.com/DavidStCox/nlp-vle
Lumeng, “univ-washington-machine-learning-python-virtualenv,” Dec. 3, 2017. [Online]. Available: https://github.com/lumeng/univ-washington-machine-learning-python-virtualenv
Blosm-org, “blosm-core,” Sep. 30, 2017. [Online]. Available: https://github.com/blosm-org/blosm-core
Cvgokhale, “Course-Completion-Rate-Prediction,” Jul. 16, 2017. [Online]. Available: https://github.com/cvgokhale/Course-Completion-Rate-Prediction
Victor-iyiola, “navigating-a-virtual-world-using-dynamic-programming,” Nov. 26, 2017. [Online]. Available: https://github.com/victor-iyiola/navigating-a-virtual-world-using-dynamic-programming
Charvi5, “VirtualLearning-Analysis-Classification,” Apr. 4, 2018. [Online]. Available: https://github.com/charvi5/VirtualLearning-Analysis-Classification
Viniciusvec, “hackops,” Mar. 2, 2018. [Online]. Available: https://github.com/viniciusvec/hackops
Fernando24164, “breakfast_docker,” Feb. 2, 2018. [Online]. Available: https://github.com/fernando24164/breakfast_docker
pupilfirst, “pupilfirst,” Aug. 2, 2021. [Online]. Available: https://github.com/pupilfirst/pupilfirst
tparisi, “LearningVirtualReality,” Mar. 4, 2016. [Online]. Available: https://github.com/tparisi/LearningVirtualReality
Aayushi15061997, “Reinforcement_Learning_ThompsonSampling,” Jan 29, 2018. [Online]. Available: https://github.com/aayushi15061997/Reinforcement_Learning_ThompsonSampling
The-Dank-Network, “TDVLE-API,” Mar. 23, 2019. [Online]. Available: https://github.com/The-Dank-Network/TDVLE-API
C. G. Hidalgo, V. A. Bucheli, F. Restrepo-Calle & F. A. González, “A strategy based on technological maps for the identification of the state-of-the-art techniques in software development projects: Virtual judge projects as a case study,” in Communications in Computer and Information Science, C. J. Serrano & J. Martínez-Santos, Cham, CH: Springer, 2018, vol. 885, pp. 338–354. https://doi.org/10.1007/978-3-319-98998-3_27

Published
How to Cite
Issue
Section
License
Copyright (c) 2021 INGE CUC

This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Published papers are the exclusive responsibility of their authors and do not necessary reflect the opinions of the editorial committee.
INGE CUC Journal respects the moral rights of its authors, whom must cede the editorial committee the patrimonial rights of the published material. In turn, the authors inform that the current work is unpublished and has not been previously published.
All articles are licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.