PREDICCION DE LA CALIDAD DE SOFTWARE DESARROLLADO EN IBM RPG USANDO DEEP LEARNING Giovanni Barrero Ortiz Maestría en Gestión de Tecnologías de Información De la escuela de postgrado de la Universidad Cesar Vallejo de Lima Perú Ingeniero de Sistemas de la Universidad Piloto de Colombia Científico de datos Big Data University DOI: 10.13140/RG.2.2.22500.22409 – Research Gate gbarreroo@hotmail.com Abstract El propósito principal de esta investigación fue optimizar la predicción de la calidad del software desarrollado en lenguaje IBM RPG en el banco Agrobanco en Lima Perú , buscando generar nuevos modelos con mayor presicion de tal manera que permitan generar una mejor predicción que posibilite la toma de decisiones de la gerencia de sistemas del banco , se introdujo las técnicas de aprendizaje profundo (Deep Learning)[7] para predecir la calidad (con énfasis en la dimensión de perfomance) del software desarrollado. Se analizo una muestra de 5490 programas desarrollados en lenguaje RPG, con la herramienta QSOURCE para análisis estático de código fuente [2], generando calificaciones para cada una de las 7 dimensiones de la variable calidad (performance, mantenibilidad, buenas prácticas, malas prácticas, seguridad, complejidad y obsolesencia). El análisis estadístico se realizo usando RStudio. El resultado obtenido muestra una predicción en la calificación de calidad de 614 programas con calidad alta, 507 con calidad baja y 2188 con calidad media, lo que reflejó una tendencia creciente de la calidad hacia calificaciones media y alta y una tendencia decreciente de calificación bajas. La presicion de la predicción fue de 100% con los algoritmos Deep Learning de la librería H2O. El aprendizaje profundo es, técnicamente: una forma gradual de aprender de representaciones de datos. El aprendizaje automático surge de esta pregunta: ¿podría una computadora ir más allá de "lo que sabemos de cómo ordenarle que ejecute algo y que aprenda por si misma de cómo realizar una tarea por si misma. ¿Podría una computadora sorprendernos? En lugar de programadores que elaboran reglas a mano para el procesamiento de datos, ¿podría una computadora aprender automáticamente estas reglas mirando los datos? Esta pregunta abre la puerta a un nuevo paradigma de programación. En programación clásica, el paradigma de la IA simbólica, fue las reglas de entrada de los humanos (un programa) y los datos para ser procesados de acuerdo con estas reglas y generar respuestas (ver figura 1.2). Con aprendizaje automático, hay datos de entrada de humanos, así como las respuestas esperadas de los datos, y salen las reglas. Estas reglas se pueden aplicar a los datos nuevos para producir respuestas originales. En los últimos años, el aprendizaje profundo es cada vez más frecuente en el campo de la Ingenieria de software (SE). Keywords: Static code analysis, RPG, Software quality, CASE, Software, Deep Learning, Ensemble Methods.