
Las herramientas de generación de código con inteligencia artificial (IA) son cruciales en el desarrollo de software, procesando lenguaje natural para mejorar la eficiencia en programación. La presente investigación se realizó con el propósito de determinar la precisión y calidad del código generado por herramientas de (IA). El estudio comenzó con un mapeo sistemático de literatura para identificar las herramientas de IA aplicables. Se consultaron bases de datos como ACM, Engineering Source e IEEE Xplore, de donde se extrajeron inicialmente 621 artículos. Tras aplicar criterios de inclusión: artículos en inglés de áreas de la computación publicados entre 2020 y 2024, se seleccionaron 113 artículos. Un proceso de tamizaje redujo esta cifra a 44 artículos, que permitieron identificar 11 herramientas de IA para la generación de código. El método utilizado fue un estudio comparativo, se diseñaron diez ejercicios de programación con diversos niveles de dificultad. Las herramientas identificadas generaron código para estos ejercicios en diferentes lenguajes de programación. La calidad del código generado fue evaluada mediante el analizador estático SonarQube, considerando aspectos como seguridad, fiabilidad y mantenibilidad. Los resultados mostraron variaciones significativas en la calidad del código entre las herramientas de IA. Bing como herramienta de generación de código mostró un rendimiento ligeramente superior en comparación con otras, aunque ninguna destacó como una IA notablemente superior. En conclusión, la investigación evidenció que, aunque las herramientas de IA para la generación de código son prometedoras, aún requieren de un piloto para alcanzar su máximo potencial, evidenciando que aún queda mucho por avanzar.
Code generation tools with artificial intelligence (AI) are crucial in software development, processing natural language to improve programming efficiency. This research was carried out with the purpose of determining the precision and quality of the code generated by (AI) tools. The study began with a systematic literature mapping to identify applicable AI tools. Databases such as ACM, Engineering Source and IEEE Xplore were consulted, from which 621 articles were initially extracted. After applying inclusion criteria: articles in English from areas of computing published between 2020 and 2024, 113 articles were selected. A screening process reduced this figure to 44 articles, which allowed the identification of 11 AI tools for code generation. The method used was a comparative study, ten programming exercises with various levels of difficulty were designed. The identified tools generated code for these exercises in different programming languages. The quality of the generated code was evaluated using the SonarQube static analyzer, considering aspects such as security, reliability and maintainability. The results showed significant variations in code quality between AI tools. Bing as a code generation tool showed slightly better performance compared to others, although none stood out as having noticeably superior AI. In conclusion, the research showed that, although AI tools for code generation are promising, they still require a pilot to reach their maximum potential, showing that there is still much to advance.
La inteligencia artificial (IA) ha experimentado un desarrollo exponencial en las últimas décadas, transformando prácticamente todos los aspectos de nuestras vidas (Finnie-Ansley et al., 2022; Lee, 2020). Desde asistentes virtuales hasta sistemas de recomendación, la IA ha demostrado su capacidad para procesar y analizar grandes cantidades de datos (Gruson, 2021; Ruiz Baquero, 2018), identificar patrones complejos y tomar decisiones informadas. Convirtiéndose así, en una herramienta fundamental en diversos ámbitos (Yadav & Pandey, 2020).
Uno de los campos más prometedores en los que la IA está teniendo un impacto significativo es en la generación de código software funcional y eficiente (Yan et al., 2023; Hernández-Pinilla & Mendoza-Moreno, 2023). La importancia de la generación de código mediante IA radica en su capacidad para ahorrar tiempo y esfuerzo (Marar, 2024; Koziolek et al., 2023), al mismo tiempo que acelera el proceso de desarrollo de software y reduce la posibilidad de errores humanos (Chemnitz et al., 2023; Alvarado Rojas, 2015). Además, estas herramientas pueden ayudar a facilitar la comprensión y el aprendizaje de nuevos lenguajes de programación, lo que resulta particularmente útil para los desarrolladores principiantes (Llanos et al., 2021; De Giusti et al., 2023).
La generación de código mediante IA implica el uso de modelos y algoritmos de aprendizaje automático para crear, modificar o mejorar el código fuente de un programa informático (Wolfschwenger et al., 2023; Azaiz et al., 2023). Esta tecnología tiene el potencial de revolucionar la forma en que se desarrolla el software, al acelerar el proceso de codificación, mejorar la calidad del código y facilitar la colaboración entre desarrolladores (Pasquinelli et al., 2022; Tseng et al., 2023).
Este estudio tiene como objetivo evaluar la precisión y calidad del código generado por once plataformas de inteligencia artificial (IA) líderes en el mercado. La metodología empleada consiste en un proceso sistemático que involucra la generación de código para resolver diez pruebas de complejidad progresiva. Los códigos resultantes son sometidos a un riguroso análisis utilizando herramientas de análisis estático, lo que permite una evaluación objetiva de su funcionalidad y calidad.
El propósito principal de esta investigación es realizar una comparación exhaustiva del rendimiento de las diversas plataformas de IA en la generación de código. A través de este análisis comparativo, se busca identificar y seleccionar las plataformas más sobresalientes en términos de su capacidad para producir código funcional, eficiente y de alta calidad. Los resultados de este estudio proporcionarán información valiosa para desarrolladores, empresas e investigadores interesados en la aplicación de IA en la programación automatizada.
La investigación se llevó a cabo en cuatro fases principales: identificación de las inteligencias artificiales, generación de código, evaluación de código y análisis de resultados (Figura 1).

El principal objetivo de esta fase es definir las herramientas basadas en inteligencia artificial que serán utilizadas para realizar la generación de código, por ello se realizó un mapeo sistemático de la literatura para identificar las inteligencias artificiales capaces de generar código (Macchi & Solari, 2012; Carrizo & Moller, 2018; Kitchenham et al., 2010). Se llevó a cabo una búsqueda en varias bases de datos que incluyen: ACM, Engineering Source, Academic Search Ultimate, IEEE Xplore y Scopus, lo que resultó en 621 artículos académicos y recursos en línea relevantes. Después de aplicar criterios de inclusión basados en artículos y proceedings en inglés, pertenecientes a las áreas de ingeniería y ciencias de la computación, publicados entre 2020 y 2024, el total de recursos se redujo a 113. Luego, se realizó un proceso de tamizaje que resultó en 44 artículos de interés, lo que permitió identificar las 11 inteligencias artificiales para generacion de codigo: CodeGPT, Replit, Textsynth, Amazon CodeWhisperer, Bing, ChatGPT, Claude, Codeium, Gemini, GitHub Copilot y Tabnine.
El objetivo de esta fase es que las herramientas seleccionadas anteriormente fueran puestas a prueba, para lo que se diseñaron diez ejercicios de programación con diferentes niveles de dificultad, abarcando una amplia gama de tareas y conceptos. Estos ejercicios fueron elaborados por el docente del seminario: Asistentes para generación de código. Posteriormente, se solicitó a cada una de las 11 herramientas identificadas que generan código para resolver estos ejercicios en diferentes lenguajes de programación, como: PHP, Python, Java, JavaScript, TypeScript, C#, Kotlin, Go y Ruby.
Los ejercicios diseñados para la evaluación incluyen: 1. ordenar un conjunto de elementos, 2. buscar un elemento dentro de un conjunto, 3. contar las ocurrencias de un elemento específico, 4. registrar usuarios, 5. implementar una API REST para la gestión de usuarios (CRUD), 6. Desarrollar una interfaz gráfica para este CRUD de gestión de usuarios, 7. realizar pruebas unitarias para la API REST, 8. realizar pruebas para la interfaz gráfica de gestión de usuarios, 9. implementar una API REST para la gestión de usuarios con validación de token, y 10. crear una interfaz gráfica para este CRUD protegido.
Esta fase tiene como objetivo principal determinar la calidad del código generado por cada una de las herramientas en los diferentes lenguajes, teniendo en cuenta la efectividad y la fiabilidad de cada una de las herramientas en términos de adherencia a buenas prácticas de programación y optimización del rendimiento del código. Para llevar a cabo lo anteriormente mencionado se realizó una revisión por parte de los estudiantes haciendo uso de un analizador estático de código (Jenkins y SonarQube), lo cual permitía mediante distintas pruebas verificar la calidad del código teniendo en cuenta aspectos de seguridad, fiabilidad y mantenibilidad del código, para así determinar posteriormente cual inteligencia artificial cuenta con mayor calidad a la hora de generar código.
El objetivo principal de esta fase es contrastar los resultados obtenidos, es decir; cuales son las herramientas más adecuadas para generar código de calidad y funcional. Se generó un análisis teniendo en cuenta toda la información obtenida en la fase: evaluación de código.
En esta sección se detallan los resultados obtenidos en las distintas etapas del desarrollo del proyecto. Se diseñaron cadenas de búsqueda específicas para cada una de las bases de datos seleccionadas, utilizando los términos previamente definidos. Este enfoque aseguró una cobertura relevante del ámbito de estudio.
Cadenas de búsqueda:
Para optimizar la recolección de documentos relevantes relacionados con la generación automática de código dentro del campo de la inteligencia artificial, se desarrollaron cadenas de búsqueda específicas para cada base de datos, ajustándose conforme a los términos previamente establecidos (Tabla 1).
Base de datos
Cadena de búsqueda
Academic Search Ultimate
TI ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") ) OR AB ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") ) OR KW ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") )
ACM
[[[Title: "artificial intelligence"] OR [Title: "intelligent systems"] OR [Title: ai]] AND [[Title: "code generation"] OR [Title: "automatic code creation"] OR [Title: "automatic code development"] OR [Title: "software autogeneration"] OR [Title: "code assistants"] OR [Title: "code generator"] OR [Title: "automatic coding"]]] OR [[[Abstract: "artificial intelligence"] OR [Abstract: "intelligent systems"] OR [Abstract: ai]] AND [[Abstract: "code generation"] OR [Abstract: "automatic code creation"] OR [Abstract: "automatic code development"] OR [Abstract: "software autogeneration"] OR [Abstract: "code assistants"] OR [Abstract: "code generator"] OR [Abstract: "automatic coding"]]] OR [[[Keywords: "artificial intelligence"] OR [Keywords: "intelligent systems"] OR [Keywords: ai]] AND [[Keywords: "code generation"] OR [Keywords: "automatic code creation"] OR [Keywords: "automatic code development"] OR [Keywords: "software autogeneration"] OR [Keywords: "code assistants"] OR [Keywords: "code generator"] OR [Keywords: "automatic coding"]]]
Engineering source
TI ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") ) OR AB ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") ) OR KW ( ("artificial intelligence" OR "intelligent systems" OR ai) AND ("code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding") )
IEEE Xplore
("Document Title":"artificial intelligence" OR "Document Title":"intelligent systems" OR "Document Title":ai) AND ("Document Title":"code generation" OR "Document Title":"automatic code creation" OR "Document Title":"automatic code development" OR "Document Title":"software autogeneration" OR "Document Title":"code assistants" OR "Document Title": "code generator" OR "Document Title":"automatic coding") OR ("Abstract":"artificial intelligence" OR "Abstract":"intelligent systems" OR "Abstract":ai) AND ("Abstract":"code generation" OR "Abstract":"automatic code creation" OR "Abstract":"automatic code development" OR "Abstract":"software autogeneration" OR "Abstract":"code assistants" OR "Abstract": "code generator" OR "Abstract":"automatic coding") OR ("Author Keywords":"artificial intelligence" OR "Author Keywords":"intelligent systems" OR "Author Keywords":ai) AND ("Author Keywords":"code generation" OR "Author Keywords":"automatic code creation" OR "Author Keywords":"automatic code development" OR "Author Keywords":"software autogeneration" OR "Author Keywords":"code assistants" OR "Author Keywords": "code generator" OR "Author Keywords":"automatic coding")
Scopus
TITLE-ABS-KEY ( ( "artificial intelligence" OR "intelligent systems" OR ai ) AND ( "code generation" OR "automatic code creation" OR "automatic code development" OR "software autogeneration" OR "code assistants" OR "code generator" OR "automatic coding" ) )
Tras la ejecución de las consultas se obtuvieron 621 estudios de los cuales finalmente se seleccionaron 44 estudios (Tabla 2).
Academic Search Ultimate
ACM
Engineering source
IEEE Xplore
Scopus
Total
Sin criterios de exclusión
19
41
11
68
482
621
Con criterios de exclusión
12
29
7
30
35
113
Tamizaje (Screening)
7
12
0
15
10
44
Participación
15,91 %
27,27 %
0 %
34,09 %
22,73 %
100 %
A continuación, se mostrarán los resultados obtenidos de las pruebas más relevantes realizadas por las diferentes herramientas de IA generadoras de código, en esta gráfica se observa las herramientas implicadas en las pruebas y sus resultados al pasarlos por la herramienta SonarQube que revisa el código fuente de manera estática (Figura 2).

Esta prueba consiste en utilizar las diferentes inteligencias artificiales para generar el código para capturar los datos de una persona, hacer la conexión a la base de datos, crear la tabla si no existe y guardar los datos de la persona en la base de datos.
En esta evaluación, es importante destacar que todas las herramientas analizadas presentaron un rendimiento óptimo en lenguajes de programación como Python, Go y Ruby. Asimismo, se observó que, en lenguajes como Java, PHP y C#, la herramienta de análisis de código ofreció un mayor número de recomendaciones.
Por otro lado, cabe destacar que Codeium presentó la menor cantidad de recomendaciones, sobresaliendo entre las demás herramientas, aunque para la prueba que es relativamente sencilla son bastantes recomendaciones. En contraste, Amazon Code Whisperer fue la herramienta que generó el mayor número de recomendaciones según el análisis realizado.
La siguiente prueba consistió en utilizar las diferentes inteligencias artificiales para generar el código necesario para completar las operaciones CRUD para gestionar usuarios (Figura 3).

En esta evaluación, es importante destacar que todas las herramientas analizadas presentaron un rendimiento óptimo en lenguajes de programación como Ruby y TypeScript. Asimismo, se observó que en lenguajes como Go, PHP y C#, la herramienta de análisis de código ofreció un mayor número de recomendaciones.
Por otro lado, cabe destacar que Bing presentó la menor cantidad de recomendaciones, sobresaliendo entre las demás herramientas. En contraste, Codeium fue la herramienta que generó el mayor número de recomendaciones según el análisis realizado.
La siguiente prueba realizada consistió en utilizar las diferentes inteligencias artificiales para generar el código adecuado para testear las funcionalidades del CRUD generado en pruebas pasadas (Figura 4).

En esta evaluación, es importante destacar que todas las herramientas analizadas presentaron un rendimiento óptimo en lenguajes de programación como Ruby y TypeScript. Asimismo, se observó que en lenguajes como Go, Java, Kotlin y Php la herramienta de análisis de código ofreció un mayor número de recomendaciones.
Por otro lado, cabe destacar que Bing y Gemini presentaron la menor cantidad de recomendaciones, sobresaliendo entre las demás herramientas. En contraste, Claude fue la herramienta que generó el mayor número de recomendaciones según el análisis realizado.
Finalmente, la última prueba consistió en utilizar las diferentes inteligencias artificiales para generar el código adecuado para realizar funcionalidades como inicio de sesión y protección de rutas (Figura 5).

En esta evaluación, es importante destacar que todas las herramientas analizadas presentaron un rendimiento óptimo en lenguajes de programación como Ruby y Java. Asimismo, se observó que en el lenguaje PHP, la herramienta de análisis de código ofreció un mayor número de recomendaciones.
Por otro lado, cabe destacar que Bing presentó la menor cantidad de recomendaciones, sobresaliendo entre las demás herramientas. En contraste, CodeGPT fue la herramienta que generó el mayor número de recomendaciones según el análisis realizado.
Finalmente, se presenta el recuento total de reportes generados para cada herramienta en las diversas pruebas realizadas. Este recuento incluye únicamente a las herramientas que participaron en todas las pruebas, excluyendo aquellas como Textsynth, Amazon CodeWhisperer, Gemini y Tabnine, las cuales presentaron dificultades en la generación de código funcional (Tabla 3).
Reliability
Maintainability
Hotspots
Total
Replit
19
80
7
106
Bing
15
86
8
109
Claude
23
88
15
126
CodeGPT
14
110
12
136
Codeium
11
121
11
143
ChatGPT
10
160
8
178
GitHub Copilot
15
181
14
210
Los resultados de este estudio comparativo revelan que las herramientas de generación de código basadas en IA evaluadas aún no muestran un rendimiento consistente en términos de calidad y funcionalidad del código producido. Ninguna de las herramientas exhibió resultados uniformes a lo largo de las diez pruebas realizadas. Notablemente, la mayoría de los problemas detectados se relacionaron con la calidad del código, especialmente en aspectos que afectan su mantenibilidad.
Entre las herramientas evaluadas, Replit demostró el mejor desempeño general, con solo 106 reportes de problemas encontrados por el analizador estático SonarQube. En contraste, GitHub Copilot presentó el rendimiento más bajo, acumulando 210 reportes de problemas. Es importante señalar que, aunque GitHub Copilot generó código funcional con relativa facilidad, este código presentaba deficiencias significativas en términos de calidad.
Algunas herramientas, como Textsynth y Amazon CodeWhisperer, tuvieron que ser descartadas durante el estudio debido a limitaciones en sus planes de uso o dificultades de interacción. Gemini y Tabnine, aunque mostraron un buen desempeño inicial, no pudieron ser incluidas en los resultados finales debido a su incapacidad para generar código funcional en una de las pruebas.
Esta variabilidad en el rendimiento subraya la necesidad de un desarrollo continuo en el campo de la generación automática de código mediante IA. Los hallazgos proporcionan una base valiosa para futuros estudios y mejoras en estas tecnologías. Aunque las herramientas de IA para la generación de código muestran un potencial prometedor, los resultados indican que aún requieren refinamiento y desarrollo adicional para alcanzar un nivel de confiabilidad y calidad consistente en la producción de código.
Finalmente, mientras que estas herramientas de IA ofrecen una mayor capacidad en la generación de código, su aplicación práctica en entornos de desarrollo profesional todavía necesita ser complementada con la supervisión y revisión humana para garantizar la calidad y funcionalidad óptima del código producido.
Este recurso propone una orientación y clasificación superficial de los recursos documentales utilizados por el artículo. Permite a los equipos editoriales conocer el comportamiento documental de sus artículos y a las personas autoras reconocer las tipologías que sustentan la investigación.
Estadísticas automáticas derivadas del marcado interno del XML-JATS. No son métricas de impacto. Lea estas estadísticas con prudencia porque la automatización puede provocar errores o no contemplar al 100 % la realidad de esta publicación.
Su propósito es promover una mejora en las prácticas de marcado de los artículos de las revistas científicas y motivar una preocupación cada vez más exhaustiva por el cumplimiento de las mejores prácticas editoriales.
Indicadores extraídos automáticamente desde el XML-JATS (heurísticos) que funcionan como base para sostener mejores prácticas. No omita que siempre la revisión y confirmación debe ser humana. Use estos indicadores como señales y no como evaluaciones.