Estudio comparativo de herramientas de generación de código por IA: evaluación de calidad y análisis de desempeño

Estudio comparativo de herramientas de generación de código por IA: evaluación de calidad y análisis de desempeño

Autores/as

DOI:

https://doi.org/10.5281/zenodo.12809577

Palabras clave:

inteligencia artificial, asistentes de código, generación de código

Resumen

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.

Descargas

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

Biografía del autor/a

Michael A. Flórez Muñoz, Universidad del Quindío

Ingeniero de Sistemas y Computación de la Universidad del Quindío. Especialización en el Desarrollo de Backend con Java. Técnico en Programación de Software egresado del Servicio Nacional de Aprendizaje (SENA), Armenia, Quindío.

Juan C. Jaramillo de la Torre, Universidad del Quindío

Desarrollador de Software BACKEND con Java. Estudiante del programa de Ingeniería de Sistemas y Computación con la Universidad del Quindío. Técnico en Programación de Software egresado del Servicio Nacional de Aprendizaje (SENA), Armenia, Quindío.

Stefany Pareja López, Universidad del Quindío

Estudiante de Ingeniería de Sistemas, Universidad del Quindío. Armenia, Quindío

Stiven Herrera Sierra, Universidad del Quindío

Estudiante de Ingeniería de Sistemas, Universidad del Quindío. Armenia, Quindío.

Christian A. Candela-Uribe, Universidad del Quindío

Docente de programación, Universidad del Quindío. Doctor en Ingeniería con énfasis en ciencias de la Computación, Universidad Tecnológica de Pereira. Ingeniero de sistemas y computación, Universidad del Quindío. Publicaciones recientes: Caracterización de herramientas para virtualización de aplicaciones: difusión preliminar, Universidad Católica de Pereira, 2023. La tecnología serveless, una oportunidad para los ecosistemas tecnológicos de apoyo a la investigación, Encuentro internacional de Educación en Ingeniería, 2023. Implementación de algoritmos para calcular el Convex Hull, Entre Ciencias e Ingeniería, 2022. Modelos transaccionales avanzados como alternativa para la implementación de transacciones de larga duración en micro servicios, Encuentro Internacional de Educación en Ingeniería, 2022. Problemas en la implementación de pruebas en sistemas de micro servicios: Estudio de Mapeo Sistemático, Revista Investigación e Innovación en Ingenierías 2021.

Citas

Alvarado Rojas, M. E. (2015). Una mirada a la inteligencia artificial. Revista Ingeniería, Matemáticas y Ciencias de La Información, 2(3). http://ojs.urepublicana.edu.co/index.php/ingenieria/article/view/234

Azaiz, I., Deckarm, O., & Strickroth, S. (2023). AI-Enhanced Auto-Correction of Programming Exercises: How Effective is GPT-3.5? International Journal of Engineering Pedagogy (IJEP), 13(8), 67–83. https://doi.org/10.3991/ijep.v13i8.45621

Carrizo, D., & Moller, C. (2018). Estructuras metodológicas de revisiones sistemáticas de literatura en Ingeniería de Software: un estudio de mapeo sistemático. Ingeniare. Revista Chilena de Ingeniería, 26, 45–54. https://doi.org/10.4067/S0718-33052018000500045

Chemnitz, L., Reichenbach, D., Aldebes, H., Naveed, M., Narasimhan, K., & Mezini, M. (2023). Towards Code Generation from BDD Test Case Specifications: A Vision. 2023 IEEE/ACM 2nd International Conference on AI Engineering – Software Engineering for AI (CAIN), 139–144. https://doi.org/10.1109/CAIN58948.2023.00031

De Giusti, L. C., Villarreal, G. L., Ibañez, E. J., & De Giusti, A. E. (2023). Aprendizaje y enseñanza de programación: El desafío de herramientas de Inteligencia Artificial como ChatGPT. https://repositoriosdigitales.mincyt.gob.ar/vufind/Record/SEDICI_88904b475efc24d9f0db0a4c5e7d3615

Finnie-Ansley, J., Denny, P., Becker, B. A., Luxton-Reilly, A., & Prather, J. (2022). The Robots Are Coming: Exploring the Implications of OpenAI Codex on Introductory Programming. Proceedings of the 24th Australasian Computing Education Conference, 10–19. https://doi.org/10.1145/3511861.3511863

Gruson, D. (2021). Big Data, inteligencia artificial y medicina de laboratorio: la hora de la integración. Advances in Laboratory Medicine / Avances En Medicina de Laboratorio, 2(1), 5–7. https://doi.org/10.1515/almed-2021-0014

Hernández-Pinilla, D. V., & Mendoza-Moreno, J. F. (2023). La Inteligencia Artificial como una herramienta para potenciar el desarrollo de software. http://hdl.handle.net/11634/53464

Kitchenham, B., Pretorius, R., Budgen, D., Brereton, Pearl., Turner, M., Niazi, M., & Linkman, S. (2010). Systematic literature reviews in software engineering – A tertiary study. Information and Software Technology, 52(8), 792–805. https://repository.usta.edu.co/handle/11634/53464?show=full

Koziolek, H., Gruener, S., & Ashiwal, V. (2023). ChatGPT for PLC/DCS Control Logic Generation. 2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA), 1–8. https://doi.org/10.1109/ETFA54631.2023.10275411

Lee, R. S. T. (2020). Artificial Intelligence in Daily Life. Springer Singapore. https://doi.org/10.1007/978-981-15-7695-9

Llanos Mosquera, J. M., Hidalgo Suarez, C. G., & Bucheli Guerrero, V. A. (2021). Una revisión sistemática sobre aula invertida y aprendizaje colaborativo apoyados en inteligencia artificial para el aprendizaje de programación. Tecnura, 25(69), 196–214. https://doi.org/10.14483/22487638.16934

Macchi, D., & Solari, M. (2012). Mapeo sistemático de la literatura sobre la Adopción de Inspecciones de Software.

Marar, H. W. (2024). Advancements in software engineering using AI. Computer Software and Media Applications, 6(1), 3906. https://doi.org/10.24294/csma.v6i1.3906

Pasquinelli, M., Cafassi, E., Monti, C., Peckaitis, H., & Zarauza, G. (2022). Cómo una máquina aprende y falla – Una gramática del error para la Inteligencia Artificial. Hipertextos, 10(17), 13–29. https://doi.org/10.24215/23143924e054

Ruiz Baquero, P. E. (2018). Avances en inteligencia artificial y su impacto en la sociedad. https://repository.upb.edu.co/handle/20.500.11912/4942

Tseng, A., Hahnemann, L., Humberto, M. E., Gaitan, P., Antonio, M., & Acosta, P. (2023). ChatGPT desarrollando código fuente de software para historias de usuarios en una consultora, Lima, 2023. Repositorio Institucional - UCV. https://repositorio.ucv.edu.pe/handle/20.500.12692/133838

Wolfschwenger, P., Sabitzer, B., & Lavicza, Z. (2023). Integrating Cloud-Based AI in Software Engineers’ Professional Training and Development. 2023 IEEE Frontiers in Education Conference (FIE), 1–5. https://doi.org/10.1109/FIE58773.2023.10343391

Yadav, R. K., & Pandey, M. (2020). Artificial Intelligence and its Application in Various Fields. International Journal of Engineering and Advanced Technology, 9(5), 1336–1339. https://doi.org/10.35940/ijeat.D9144.069520

Yan, D., Gao, Z., & Liu, Z. (2023). A Closer Look at Different Difficulty Levels Code Generation Abilities of ChatGPT. 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 1887–1898. https://doi.org/10.1109/ASE56229.2023.00096

Descargas

Publicado

2024-07-28

Cómo citar

Flórez Muñoz, M., Jaramillo de la Torre, J., Pareja López, S., Herrera Sierra, S., & Candela-Uribe, C. (2024). Estudio comparativo de herramientas de generación de código por IA: evaluación de calidad y análisis de desempeño. Ciencia E Ingeniería (hasta Agosto De 2024), 11(2), e12809577. https://doi.org/10.5281/zenodo.12809577
Loading...