European Commission logo
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Program Analysis and Reorganization, as a Service

Article Category

Article available in the following languages:

Un análisis de «software» adaptado al complejo mundo actual

El análisis avanzado puede ayudar a los programadores profesionales a desarrollar un «software» más fiable y eficiente, y a seguir el ritmo de las exigencias de nuestra era digital.

Economía digital icon Economía digital

El análisis estático de «software» es una técnica informática que consiste en hacer una estimación de todos los resultados posibles de un programa informático. Un análisis típico podría examinar todo el código que se puede ejecutar o todas las maneras en que un programa se puede comunicar con sus usuarios o la red. «Los programadores profesionales utilizan los resultados del análisis estático para mejorar su "software", ya sea aumentando su eficiencia o solucionando errores de programación», explica el coordinador del proyecto PARSe, Yannis Smaragdakis, profesor del departamento de Informática y Telecomunicaciones en la Universidad de Atenas (Grecia). «Por ejemplo, un análisis puede indicar a un programador qué partes del código no se van a ejecutar nunca y, así, puede eliminarlas».

Un mundo complejo

Un desafío clave es el rápido avance de la innovación tecnológica. «Los programas informáticos de la actualidad son de las cosas más complejas que haya creado la humanidad», señala Smaragdakis. Esta complejidad ha aumentado exponencialmente en los últimos decenios. Al mismo tiempo, los programas informáticos han ido adquiriendo cada vez más importancia en nuestra vida cotidiana. El «software» avanzado se encuentra por todas partes, desde las aplicaciones que descargamos a nuestros teléfonos inteligentes hasta la modelización estadística que emplean las empresas de internet para recopilar e interpretar cantidades ingentes de datos. «Existe una demanda enorme y cada vez mayor de "software" fiable y eficiente», explica. «Por tanto, los programadores necesitan técnicas de análisis más avanzadas que puedan valorar incluso los programas más complejos». El proyecto PARSe se puso en marcha en 2015 para satisfacer esta demanda. «Nuestro objetivo era conectar la investigación de análisis estático de última generación con aplicaciones avanzadas de desarrollo de programas informáticos», explica Smaragdakis. Para ello, el equipo del proyecto desarrolló un prototipo de interfaz de usuario basada en la web. Esto permite a los programadores acceder al análisis y navegar más fácilmente por el código de un programa de gran tamaño. Incluso pueden utilizar el servicio de análisis estático para plantear cuestiones clave de comprensión, por ejemplo sobre los puntos vulnerables de seguridad. Posteriormente, las preguntas se responden con la ayuda de algoritmos que se desarrollaron durante un proyecto anterior, SPADE, financiado por el CEI. Al integrar estos algoritmos en una interfaz de usuario basada en la web, el proyecto PARSe ha llevado esta investigación un poco más lejos.

Acceso a un análisis avanzado

Smaragdakis está seguro de que el prototipo puede ayudar a los programadores profesionales a optimizar el código y a detectar errores incluso en el «software» más complejo. «Se trata de una tarea muy importante en el desarrollo moderno de "software"», añade. «Las grandes empresas dedican sumas considerables a programar el análisis y el soporte de desarrollo. Recientemente, las adquisiciones de empresas de análisis estático han alcanzado varios cientos de millones de euros». En este contexto, el desarrollo y comercialización de la siguiente generación de herramientas de análisis de programas podrían ser un gran resultado del proyecto. Ya han comenzado a preparar la tecnología para el mercado. «Hemos desarrollado una herramienta de optimización para Android con el fin de instalar el programa en teléfonos y tabletas», añade Smaragdakis. «Esto permitirá a los programadores consultar todo el código que han estado desarrollando. Las soluciones disponibles actualmente en el mercado son extremadamente complejas y propensas a errores». Ahora se está valorando la comercialización del prototipo en cooperación con el acelerador de iniciativas empresariales de la Universidad de Atenas. «Espero ver algún día cómo el prototipo PARSe evoluciona para convertirse en una herramienta de uso generalizado», afirma. «Es la pasarela para introducir una investigación de análisis estático incluso más avanzada con el fin de generalizar el desarrollo de "software"».

Palabras clave

PARSe, código, programador, software, digital, Android, red, Internet

Descubra otros artículos del mismo campo de aplicación