La Universidad de Oviedo y la Universidad de Cambridge crean una infraestructura ‘big data' para mejorar el desarrollo de software
El sistema permite analizar grandes volúmenes de código fuente en segundos y predecir el nivel de experiencia de los programadores mediante 'machine learning'
El grupo de investigación Computational Reflection de la Universidad de Oviedo, en colaboración con la Universidad de Cambridge, ha desarrollado un sistema que, utilizando 'big data', permite procesar en cuestión de segundos grandes volúmenes de código fuente -las líneas de texto con los pasos que debe seguir el ordenador en la ejecución de un programa-. Para ello, la representación del software no se hace de modo textual (código fuente), sino que se utilizan estructuras de grafo superpuestas que representan la semántica y la sintaxis del código.
El sistema creado es capaz de detectar errores de programación complejos en proyectos Java de millones de líneas de código en tan solo decenas de segundos, cuando los sistemas existentes fallan por consumir demasiados recursos del ordenador. Adicionalmente, el sistema permite extraer propiedades del software muy útiles para crear modelos de inteligencia artificial. A modo de ejemplo, el equipo investigador ha aplicado 'machine learning' para estimar el nivel de experiencia de los programadores con tan solo analizar su código fuente.
Este proyecto ha sido financiado por el Ministerio de Ciencia e Innovación. Los resultados se han publicado en las revistas científicas IEEE Access y Future Generation Computer Systems. La investigación forma parte de la tesis doctoral de Óscar Rodríguez Prieto, dirigida por Francisco Ortín, que se presentará el viernes 12 de junio.