Modelo de red neuronal artificial para la generación automática de código en aplicaciones de interfaces gráficas
DOI:
https://doi.org/10.17981/ingecuc.19.1.2023.04Palabras clave:
Aprendizaje automático, procesamiento de lenguaje natural, interfaz gráfica, transformadores, Tkinter, aprendizaje profundo, generación automática de códigoResumen
Introducción— En la actualidad, la industria del desarrollo de software vive su época dorada debido al avance en áreas relacionadas con el aprendizaje máquina el cual es parte de las técnicas de IA, estos avances han permitido que tareas consideradas exclusivamente del ser humano sean resueltas utilizando un equipo de cómputo. Sin embargo, la complejidad y la extensa área que están abarcando los nuevos proyectos que deben ser desarrollados utilizando lenguajes de programación han generado que los tiempos de entrega de los proyectos se vean ralentizados y la productividad de la empresa afectada.
Objetivo— Esta investigación presenta la metodología que se llevó a cabo para la construcción de un modelo de red neuronal recurrente para la generación automática de código fuente relacionado con interfaces gráficas de usuario utilizando lenguaje de programación Python.
Metodología— Mediante la construcción de un conjunto de datos relacionado con el lenguaje natural para la descripción de interfaces gráficas programadas en Python se construye un modelo de red neuronal profunda para generar código fuente automático.
Resultados— El modelo entrenado logra alcanzar valores de pérdida y perplejidad de 1.57 y 4.82 respectivamente en la etapa de validación evitando el sobreajuste en el entrenamiento del modelo.
Conclusiones— Un modelo de red neuronal es entrenado logrando procesar el lenguaje natural relacionado con la petición de creación de interfaces gráficas utilizando el lenguaje de programación Python para generar automáticamente código fuente que puede ser ejecutado a través del intérprete de Python.
Descargas
Citas
V. Kononenko, “10 Breakthrough Software Development Trends in Coming Years,” Computools, Aug. 2022. Available: https://computools.com/software-development-trends/
T. Brown, “7 Software Development Trends 2023 Revealed,” Hackernoon, Nov. 2019. Available: https://hackernoon.com/software-development-trends-2020-revealed-spi305m
J. Zhu & M. Shen, “Research on Deep Learning Based Code Generation from Natural Language Description,” presented at 5th International Conference on Cloud Computing and Big Data Analytics, ICCCBDA, CGDU, CN, 10-13 Apr. 2020. https://doi.org/10.1109/ICCCBDA49378.2020.9095560
G. Tomassetti, “A Guide to Code Generation,” Strumenta, May. 2018. Available: https://tomassetti.me/code-generation/
S. Shim, P. Patil, R. Yadav, A. Shinde & V. Devale, “DeeperCoder: Code Generation Using Machine Learning,” presented at 2020 10th Annual Computing and Communication Workshop and Conference, CCWC, LV, NV, USA, 6-8 Jan. 2020. https://doi.org/10.1109/CCWC47524.2020.9031149
T. Le, H. Chen & M. Babar, “Deep Learning for Source Code Modeling and Generation: Models, Applications, and Challenges,” ACM Comput Surv, vol. 53, no. 3, pp. 1–18, Feb. 2020. https://doi.org/10.1145/3383458
W. Ling, P. Blunsom, E. Grefenstette, K. Hermann, T. Kočiský, F. Wang, & A. Senior, “Latent Predictor Networks for Code Generation”, presented at 54th Annual Meeting of the Association for Computational Linguistics, ACL, BE, GE, 7-12 Aug. 2016. https://doi.org/10.18653/v1/p16-1057
M. Rabinovich, M. Stern & D. Klein, “Abstract syntax networks for code generation and semantic parsing,” presented at 55th Annual Meeting of the Association for Computational Linguistics, ACL, VAN, CA, 30 Jul. - 4 Aug. 2017. http://dx.doi.org/10.18653/v1/P17-1105
P. Yin & G. Neubig, “A syntactic neural model for general-purpose code generation,” presented at 55th Annual Meeting of the Association for Computational Linguistics, ACL, VAN, CA, 30 Jul. - 4 Aug. 2017. https://doi.org/10.18653/v1/P17-1041
A. Stehnii, “Generation of code from text description with syntactic parsing and Tree2Tree model”, Master Thesis, Dept. Comp. Sci., Fac. Appl. Sci., UCU, LVI, UA, 2017. Available: http://er.ucu.edu.ua/handle/1/1191
P. Yin & G. Neubig, “TRANX: A transition-based neural abstract syntax parser for semantic parsing and code generation,” presented at Conference on Empirical Methods in Natural Language Processing: System Demonstrations, ACL, BX, BE, 10-11 Nov. 2018. https://doi.org/10.18653/v1/d18-2002
S. Gulwani, “Dimensions in Program Synthesis,” presented at 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming, PPDP'10, NY, NY, USA, 26-28 Jul. 2010. https://doi.org/10.1145/1836089.1836091
M. Jaderberg, K. Simonyan, A. Zisserman & K. Kavukcuoglu, “Spatial transformer networks,” Adv Neural Inf Process Syst, vol. 2015, pp. 1–15, Jun. 2015. https://doi.org/10.48550/arXiv.1506.02025

Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2022 INGE CUC

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
Los artículos publicados son de exclusiva responsabilidad de sus autores y no reflejan necesariamente las opiniones del comité editorial.
La Revista INGE CUC respeta los derechos morales de sus autores, los cuales ceden al comité editorial los derechos patrimoniales del material publicado. A su vez, los autores informan que el presente trabajo es inédito y no ha sido publicado anteriormente.
Todos los artículos están bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.