DOI:

https://doi.org/10.14483/23448350.17644

Publicado:

2021-05-01

Número:

Vol. 41 Núm. 2 (2021): mayo-agosto

Sección:

Ciencia y Tecnología

Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías

Retrieval and Classification of Software Architectures on GitHub for Reuse, Supported by Ontologies

Autores/as

  • Hugo-Armando Ordoñez-Erazo Universidad del Cauca
  • Camilo Ordóñez Universitaria de Popayán
  • Víctor Buchelli Universidad del Valle https://orcid.org/0000-0002-0885-8699

Palabras clave:

Software architecture, GitHub, reuse, classification, searches (en).

Palabras clave:

Arquitectura de software, GitHub, reúso, clasificación, búsquedas (es).

Descargas

Resumen (es)

Para definir una arquitectura de un nuevo proyecto de software es clave reutilizar componentes existentes en proyectos previos. Estos proyectos previos pueden ser de la organización o estar disponibles en internet a través de GitHub. Los componentes reutilizados permiten tomar decisiones arquitecturales y así economizar tiempo y recursos. Sin embargo, actualmente buscar componentes de software en GitHub es ineficiente, pues las búsquedas son por cadenas de texto. En este trabajo se presenta OntoGitHubSearch como un modelo de búsqueda que permite la recuperación y clasificación de arquitecturas de software almacenadas en GitHub. El modelo recupera todos los repositorios que coincidan con los conceptos de arquitectura buscados; para darle semántica y contexto a la búsqueda, el modelo implementa la ontología de dominio específico Service-Oriented Architecture Ontology Version 2.0. Adicionalmente, se implementa procesamiento de lenguaje natural para analizar el texto del repositorio. Los repositorios son identificados y clasificados según el contexto que se expresa en el texto y en los conceptos encontrados en las descripciones del mismo. Para el proceso de evaluación del modelo propuesto se desarrolló una aplicación web denominada WebOntoGitHubSearch, la cual permite la interacción con usuarios en el proceso de consulta. La evaluación se realizó con la participación de desarrolladores y arquitectos de software de varias empresas colombianas, se utilizaron métricas de recuperación de información tales como Precision at k. Los resultados obtenidos en el proceso de evaluación son promisorios y permiten verificar la eficacia del modelo propuesto.

Resumen (en)

However, searching for software components on GitHub is currently inefficient, as searches are based on text strings. This paper introduces OntoGitHubSearch as a search model that allows the retrieval and classification of software architectures stored on GitHub. This proposed model retrieves all repositories that match the searched architectural concepts; to provide the search with semantics and context, it implements the domain-specific ontology Architecture Ontology Version 2.0, as well as a natural language processing module to analyze the text in the repository. The repositories are automatically identified and classified according to the text and concepts found in their descriptions. To evaluate the proposed model, we developed a web application called WebOntoGitHubSearch, which allows interaction with users during the search process. The evaluation of the model was carried out with the participation of software developers and architects from several colombian businesses. Information retrieval metrics such as Precision at k. The results obtained during the evaluation process are promising and allow verifying the effectiveness of the proposed model.

Referencias

Borges, H., Valente, M. T. (2018). What’s in a GitHub Star? Understanding Repository Starring Practices in a Social Coding Platform. Journal of Systems and Software, 146, 112-129. https://doi.org/10.1016/j.jss.2018.09.016

Coelho, J., Valente, M. T., Milen, L., Silva, L. L. (2020). Is This GitHub Project Maintained? Measuring the Level of Maintenance Activity of Open-Source Projects. Information and Software Technology, 122, e106274. https://doi.org/10.1016/j.infsof.2020.106274

Figueroa, C., Ordóñez, H., Corrales, J. C., Cobos, C., Krug Wives, L., Herrera-Viedma, E. (2016). Improving Business Process Retrieval Using Categorization and Multimodal Search. Knowledge-Based Systems, 110(15), 49-59. https://doi.org/10.1016/j.knosys.2016.07.014

Contreras, A. L. (2018). Gestión de la motivación en escenarios organizacionales. Investigación e Innovación en Ingenierías, 6(1), 84-92. https://doi.org/10.17081/invinno.6.1.2777

Golzadeh, M., Decan, A., Legay, D., Mens, T. (2021). A Ground-Truth Dataset and Classification Model for Detecting Bots in GitHub Issue and PR Comments. Journal of Systems and Software, 175, e110911. https://doi.org/10.1016/j.jss.2021.110911

De Graaf, K. A., Liang, P., Tang, A., van Hage, W. R., van Vliet, H. (2014). An Exploratory Study on Ontology Engineering for Software Architecture Documentation. Computers in Industry, 65(7), 1053-1064. https://doi.org/10.1016/j.compind.2014.04.006

De Graaf, K. A., Tang, A., Liang, P., van Vliet, H. (2012). Ontology-Based Software Architecture Documentation. En Joint Working Conference on Software Architecture and European Conference on Software Architecture (pp. 121-130). https://doi.org/10.1109/WICSA-ECSA.212.20

Guillén, A. J., Crespo, A., Gómez, J. M., Sanz, M. D. (2016). A Framework for Effective Management of Condition Based Maintenance Programs in the Context of Industrial Development of E-Maintenance Strategies. Computers in Industry, 82, 170-185. https://doi.org/10.1016/j.compind.2016.07.003

Hou, T., Yao, X., Gong, D. (2021). Community Detection in Software Ecosystem by Comprehensively Evaluating Developer Cooperation Intensity. Information and Software Technology, 130, e106451. https://doi.org/10.1016/j.infsof.2020.106451

Hu, Y., Wang, S., Ren, Y., Choo, K, R. (2018). User Influence Analysis for Github Developer Social Networks. Expert Systems with Applications, 108, 108-118. https://doi.org/10.1016/j.eswa.2018.05.002

Jiang, J., Wu, Q., Cao, J., Xia, X., Zhang, L. (2021). Recommending Tags for Pull Requests in GitHub. Information and Software Technology, 129, e106349. https://doi.org/10.1016/j.infsof.2020.106394

Kallis, R., Di Sorbo, A., Canfora, G., Panichella, S. (2020). Predicting Issue Types on GitHub. Science of Computer Programming, 205(1), e102598. https://doi.org/10.1016/j.scico.2020.102598

Manning, C. D., Raghavan, P., Schutze, H. (2008). Introduction to Information Retrieval. Cambridge University Press.

Montandon, J. E., Valente, M. T., Silva, L. L. (2021). Mining the Technical Roles of GitHub Users. Information and Software Technology, 131, e106485. https://doi.org/10.1016/j.infsof.2020.106485

Ordóñez, H., Corrales, J., Cobos, C., Wives, L., Thom, L. (2014). Collaborative Evaluation to Build Closed Repositories on Business Process Models. En Proceedings of the 16th International Conference on Enterprise Information Systems (pp. 311-318). https://doi.org/10.5220/0004881203110318

Ordóñez, Hugo, Corrales, J. C., Cobos, C. (2014). MultiSearchBP: entorno para la búsqueda y agrupación de modelos de procesos de negocio. Polibits, 49, 29-38. https://doi.org/10.17562/pb-49-3

Paredes-Valverde, M. A., Salas-Zárate, M. P., Colomo-Palacios, R., Gómez-Berbís, J. M., Valencia-García, R. (2018). An Ontology-Based Approach with Which to Assign Human Resources to Software Projects. Science of Computer Programming, 156(1), 90-103. https://doi.org/10.1016/j.scico.2018.01.003

Rocha, R., Araújo, A., Cordeiro, D., Ximenes, A., Teixeira, J., Silva, G., da Silva, D., Espinhara, D., Fernandes, R., Ambrosio, J., Duarte, M., Azevedo, R. (2018). DKDOnto: An Ontology to Support Software Development with Distributed Teams. Procedia Computer Science, 126, 373-382. https://doi.org/10.1016/j.procs.2018.07.271

Thapar, S. S., Sarangal, H. (2020). Quantifying Reusability of Software Components Using Hybrid Fuzzy Analytical Hierarchy Process (FAHP)-Metrics Approach. Applied Soft Computing, 88, e105997. https://doi.org/10.1016/j.asoc.2019.105997

Zöller, N., Morgan, J. H., Schröder, T. (2020). A Topology of Groups: What GitHub Can Tell Us about Online Collaboration. Technological Forecasting and Social Change, 161, e120291. https://doi.org/10.1016/j.techfore.2020.120291

Cómo citar

APA

Ordoñez-Erazo, H.-A., Ordóñez, C., & Buchelli, V. (2021). Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías. Revista Científica, 41(2), 242–251. https://doi.org/10.14483/23448350.17644

ACM

[1]
Ordoñez-Erazo, H.-A., Ordóñez, C. y Buchelli, V. 2021. Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías. Revista Científica. 41, 2 (may 2021), 242–251. DOI:https://doi.org/10.14483/23448350.17644.

ACS

(1)
Ordoñez-Erazo, H.-A.; Ordóñez, C.; Buchelli, V. Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías. Rev. Cient. 2021, 41, 242-251.

ABNT

ORDOÑEZ-ERAZO, H.-A.; ORDÓÑEZ, C.; BUCHELLI, V. Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías. Revista Científica, [S. l.], v. 41, n. 2, p. 242–251, 2021. DOI: 10.14483/23448350.17644. Disponível em: https://revistas.udistrital.edu.co/index.php/revcie/article/view/17644. Acesso em: 15 jun. 2021.

Chicago

Ordoñez-Erazo, Hugo-Armando, Camilo Ordóñez, y Víctor Buchelli. 2021. «Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías». Revista Científica 41 (2):242-51. https://doi.org/10.14483/23448350.17644.

Harvard

Ordoñez-Erazo, H.-A., Ordóñez, C. y Buchelli, V. (2021) «Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías», Revista Científica, 41(2), pp. 242–251. doi: 10.14483/23448350.17644.

IEEE

[1]
H.-A. Ordoñez-Erazo, C. Ordóñez, y V. Buchelli, «Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías», Rev. Cient., vol. 41, n.º 2, pp. 242–251, may 2021.

MLA

Ordoñez-Erazo, H.-A., C. Ordóñez, y V. Buchelli. «Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías». Revista Científica, vol. 41, n.º 2, mayo de 2021, pp. 242-51, doi:10.14483/23448350.17644.

Turabian

Ordoñez-Erazo, Hugo-Armando, Camilo Ordóñez, y Víctor Buchelli. «Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías». Revista Científica 41, no. 2 (mayo 1, 2021): 242–251. Accedido junio 15, 2021. https://revistas.udistrital.edu.co/index.php/revcie/article/view/17644.

Vancouver

1.
Ordoñez-Erazo H-A, Ordóñez C, Buchelli V. Recuperación y clasificación de arquitecturas software en GitHub para reutilización, soportado por ontologías. Rev. Cient. [Internet]. 1 de mayo de 2021 [citado 15 de junio de 2021];41(2):242-51. Disponible en: https://revistas.udistrital.edu.co/index.php/revcie/article/view/17644

Descargar cita

Visitas

55

Dimensions


PlumX


Descargas

Los datos de descargas todavía no están disponibles.