000 03109nmm a2200253 a 4500
008 151109e2023 sp ||||fq||d| 00| 0 spa d
082 4 0 _a003
_bD542r
_223
100 1 _aDíaz Chica, Luis Felipe.
_98713
245 0 0 _aRevelando patrones arquitectónicos implícitos en Infraestructura como código a través de la transferencia de conocimiento de repositorio de código /
_cLuis Felipe Díaz Chica.
260 3 _aBogotá :
_bEscuela Colombiana de Ingeniería Julio Garavito,
_c2023.
300 _a101 paginas.
_bilustraciones. ;
502 _a(Magíster en Gestión de Información )
520 _aLa infraestructura como código o por sus siglas en inglés IaC (Infrastructure as Code) es una modelo de gestión de recursos en la nube por medio de especificaciones de código. En nuestra investigación buscamos extraer conocimiento implícito de los proyectos de Ia C relacionado a los patrones de arquitectura que están siendo utilizados en la comunidad de código libre. Para esto hemos realizado un análisis del estado del arte en temas relacionados con el análisis estático de código con modelos de lenguaje de gran envergadura también conocidos como Large Language Models en inglés(LLM), para posteriormente aplicar técnicas de transferencia de conocimiento a un conjunto de modelos pre-entrenados y categorizar los patrones de arquitectura encontrados en los proyectos de IaC. La transferencia de conocimiento es aplicada usando refinamiento (fine-tuning) y su- pervisado débil. Definimos un sistema de reglas que según los componentes de la infraestructura presente en el proyecto categorizamos un posible patrón de arqui- tectura. Este sistema de reglas es usado para construir un dataset inicial de 13200 archivos en 4 lenguajes de programación con sus respectivas etiquetas en 11 cate- gorías de patrones de arquitectura. Hemos logrado encontrar una mejora significativa en la categorización de los patrones de arquitectura después de aplicar transferencia de conocimiento a los modelos pre- entrenados en código. UnixCode y CodeBERT lograron alcanzar un F1-score 0.96% de precisión durante entrenamiento. Después de aplicar los modelos a un dataset desconocido encontramos que los patrones más usado son event-driven, serverless, microservicios y object storage dentro de la comunidad open source(Github). Tam- bién el lenguaje de programación predominante en Cloud Development Kit (CDK) es Typescript seguido por python. Logramos evidenciar un buen rendimiento en la clasificación de los patrones usando seq2seq como la técnica de representación del código y modelos pre-entrenados basados en RoBERTa.
650 0 _aINFRAESTRUCTURA COMO CÓDIGO
_928817
650 0 _aCONOCIMIENTO IMPLÍCITO
_92203
650 0 _aTRANSFERENCIA DE CONOCIMIENTO
_91895
650 0 _aPATRONES DE ARQUITECTURA
_966922
650 0 _aMODELOS DE LENGUAJE
_966923
700 _aBenavides Navarro, Luis Daniel
_edirector.
_913069
700 _aGarzón A, Wilmer
_edirector.
_964915
856 _uhttp://repositorio.escuelaing.edu.co/handle/001/2623
942 _2ddc
_cTE
999 _c23583
_d23583