{"id":22211,"date":"2023-10-03T16:11:01","date_gmt":"2023-10-03T19:11:01","guid":{"rendered":"https:\/\/www.fi.uncoma.edu.ar\/?p=22211"},"modified":"2026-04-14T09:47:30","modified_gmt":"2026-04-14T12:47:30","slug":"cristian-vincenzini-modelos-de-generacion-de-comentarios-de-codigo-basados-en-transformers-octubre-2023","status":"publish","type":"post","link":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/nuevos-lic-lcc\/cristian-vincenzini-modelos-de-generacion-de-comentarios-de-codigo-basados-en-transformers-octubre-2023\/","title":{"rendered":"Cristian Vincenzini: Modelos de generaci\u00f3n de comentarios de c\u00f3digo basados en transformers"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"22211\" class=\"elementor elementor-22211\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c64400f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c64400f\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3410869\" data-id=\"3410869\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ae51bcb elementor-widget elementor-widget-text-editor\" data-id=\"ae51bcb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.7 - 03-07-2022 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#818a91;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#818a91;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p><strong>T\u00edtulo<\/strong>: <em>\u00abModelos de generaci\u00f3n de comentarios de c\u00f3digo basados en transformers<\/em><em>\u201d<\/em><\/p><p><strong>Tesista:<\/strong>\u00a0<span style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); background-color: var(--ast-global-color-5); color: unset; font-size: 1rem;\">Cristian Mart\u00edn Vincenzini<\/span><\/p><p><strong>Directora:<\/strong> Esp. Sandra Roger<\/p><p><strong style=\"font-size: 16px;\">Fecha de la defensa:<\/strong><span style=\"font-size: 16px;\"> 3 de octubre de 2023<\/span><\/p><div><strong>Resumen<\/strong><\/div><div>Los comentarios de c\u00f3digo son fragmentos de texto que se incluyen en el c\u00f3digo fuente de un programa, pero que no se ejecutan ni afectan el funcionamiento del mismo. Su principal prop\u00f3sito es proporcionar documentaci\u00f3n sobre el c\u00f3digo escrito, facilitando la comprensi\u00f3n tanto para el programador original como para otros desarrolladores que puedan leer o\u00a0 modificar el c\u00f3digo en el futuro. Sin embargo, en muchos casos estos comentarios no reflejan con exactitud el c\u00f3digo que describen, pueden ser insuficientes, estar desactualizados, o en \u00faltima instancia no existir en absoluto. En cualquiera de estos escenarios el c\u00f3digo escrito resulta dif\u00edcil de entender, corregir y mantener en el tiempo. Con la intenci\u00f3n de mitigar los problemas mencionados, en este trabajo se aborda el desaf\u00edo de asistir al programador para generar -de manera autom\u00e1tica- comentarios claros y relevantes que permitan describir un fragmento de c\u00f3digo a su elecci\u00f3n.<br \/>El enfoque para cumplir con el objetivo propuesto consisti\u00f3 en entrenar un modelo de aprendizaje autom\u00e1tico con el cual el desarrollador pueda interactuar, enviando c\u00f3digo y recibiendo<br \/>la descripci\u00f3n del mismo. Para la selecci\u00f3n del modelo inicialmente se prob\u00f3 uno basado en redes<br \/>neuronales recurrentes, pero debido a sus limitaciones se opt\u00f3 por una arquitectura denominada transformer. Por otro lado, para que el desarrollador pueda interactuar, se dise\u00f1\u00f3 una extensi\u00f3n para un editor de c\u00f3digo que comunica al modelo con el c\u00f3digo a trav\u00e9s de un back-end.<br \/>Para entrenar la arquitectura se crearon dos conjuntos de datos, uno con c\u00f3digo escrito en PROLOG y el otro con funciones escritas en GO. Los modelos generados fueron luego evaluados utilizando m\u00e9tricas autom\u00e1ticas y se estableci\u00f3 un modelo de referencia.<br \/>Los resultados obtenidos en esta investigaci\u00f3n\u00a0 revelan que el modelo especializado en el lenguaje GO super\u00f3 en rendimiento al modelo de referencia. En cuanto al modelo de PROLOG, aunque los resultados fueron inferiores en las m\u00e9tricas establecidas, se introdujo posteriormente una m\u00e9trica adicional de similitud sem\u00e1ntica que demostr\u00f3 que las descripciones generadas mantienen una alta semejanza con las referencias humanas.<\/div><div>\u00a0<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ad68e64 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ad68e64\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-15c49f5\" data-id=\"15c49f5\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-05cef97 elementor-widget elementor-widget-image\" data-id=\"05cef97\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.6.7 - 03-07-2022 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img width=\"1024\" height=\"576\" src=\"https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-1024x576.jpeg\" class=\"attachment-large size-large\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-1024x576.jpeg 1024w, https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-300x169.jpeg 300w, https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-768x432.jpeg 768w, https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-1536x864.jpeg 1536w, https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini.jpeg 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Foto del d\u00eda de la defensa con su directora y el tribunal integrado por el Dr. Germ\u00e1n Braun y el Lic. Rodrigo Ca\u00f1ibano.<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-390f034 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"390f034\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d77a8aa\" data-id=\"d77a8aa\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d89beb8 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"d89beb8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a href=\"https:\/\/www.fi.uncoma.edu.ar\/index.php\/nuevos-lic-lcc\/\" class=\"elementor-button-link elementor-button elementor-size-sm\" role=\"button\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Ver otras tesis LCC FaI<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>El 3 de octubre de 2023, el estudiante Cristian Vincenzini aprob\u00f3 su tesis de Licenciatura en Ciencias de la Computaci\u00f3n.<br \/>\n\u00a1Felicitaciones Licenciado!<\/p>\n","protected":false},"author":4,"featured_media":22213,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[38,14],"tags":[],"uagb_featured_image_src":{"full":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini.jpeg",1600,900,false],"thumbnail":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-150x150.jpeg",150,150,true],"medium":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-300x169.jpeg",300,169,true],"medium_large":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-768x432.jpeg",768,432,true],"large":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-1024x576.jpeg",1024,576,true],"1536x1536":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini-1536x864.jpeg",1536,864,true],"2048x2048":["https:\/\/www.fi.uncoma.edu.ar\/wp-content\/uploads\/2023\/10\/defensa-cristian-vincenzini.jpeg",1600,900,false]},"uagb_author_info":{"display_name":"editor Fai","author_link":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/author\/editorfai\/"},"uagb_comment_info":0,"uagb_excerpt":"El 3 de octubre de 2023, el estudiante Cristian Vincenzini aprob\u00f3 su tesis de Licenciatura en Ciencias de la Computaci\u00f3n. \u00a1Felicitaciones Licenciado!","_links":{"self":[{"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/posts\/22211"}],"collection":[{"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/comments?post=22211"}],"version-history":[{"count":6,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/posts\/22211\/revisions"}],"predecessor-version":[{"id":30915,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/posts\/22211\/revisions\/30915"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/media\/22213"}],"wp:attachment":[{"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/media?parent=22211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/categories?post=22211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fi.uncoma.edu.ar\/index.php\/wp-json\/wp\/v2\/tags?post=22211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}