VIGHUB: una Herramienta de Pronóstico Tecnológico basada en Minería de Repositorios de Software
DOI:
https://doi.org/10.17981/ingecuc.18.1.2022.07Palabras clave:
Minería de Repositorios de Software, Vigilancia Tecnológica, Revisión del estado de la técnica, Mapas tecnológicos, GitHubResumen
Introducción: Académicos, desarrolladores y empresas enfocadas en el desarrollo tecnológico, buscan conocer lo que ya existe y lo que aún falta en este campo. Una de las formas que utilizan, es realizar revisiones sobre fuentes bibliográficas (estado del arte). En este sentido, se desarrolló una herramienta que permite identificar el estado actual de una tecnología de forma semi-automática.
Objetivo: Este artículo propone una herramienta que extrae información de repositorios alojados en GitHub. Analiza los datos utilizando técnicas computacionales y presenta los resultados a través de visualizaciones que identifican la evolución tecnológica del campo estudiado a través de los lenguajes de programación, principales, repositorios y organizaciones.
Metodología: Se utiliza un modelo basado en Repositorios de Software de Minería (MSR), el cual integra una arquitectura basada en microservicios utilizando diferentes lenguajes de programación, lo que permitió la construcción de la herramienta VigHub. El modelo se centra en cuatro aspectos: selección de un tema tecnológico, extracción de la fuente de datos, análisis de la información mediante técnicas computacionales y finalmente, se muestran los resultados a través de visualizaciones.
Resultados: Se dispuso la herramienta VigHub de manera online para realizar 3 casos de estudio. El primero en la academia, donde se identifico desde el año 2011 al 2021, las tecnologías, los lenguajes de programación, los usuarios y empresas interesadas en el desarrollo de VLE’s (Virtual Learning Environment). El segundo y tercero fueron ejecutados por empresas (ambiente industrial), que afirmaron que el uso de la herramienta VigHub, apoya tanto en el análisis de datos como en la identificación de resultados útiles.
Conclusiones: Contar con una herramienta que a partir de una sola consulta permite identificar parte del estado actual de una tecnología, podría ser una herramienta útil para académicos, desarrolladores y empresas, que ahorrarían recursos humanos, tiempo y posibles desarrollos repetidos---reutilización de código. La herramienta VigHub pretende apoyar en la construcción de un estado de arte. Sus resultados son complementarios al método tradicional.
Descargas
Citas
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

Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2021 INGE CUC

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
Los artículos publicados son de exclusiva responsabilidad de sus autores y no reflejan necesariamente las opiniones del comité editorial.
La Revista INGE CUC respeta los derechos morales de sus autores, los cuales ceden al comité editorial los derechos patrimoniales del material publicado. A su vez, los autores informan que el presente trabajo es inédito y no ha sido publicado anteriormente.
Todos los artículos están bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.