Financiado por la Unión Europea – NextGenerationEU.
Proyectos
Ai4Dev. Investigación para la mejora de la calidad y productividad de la industria del software mediante la aplicación automática de técnicas de IA usando metaheurísticas y redes neuronales
- Proyecto: Financiado por la Unión Europea – NextGenerationEU
- País: España
- Tecnologías aplicadas: Inteligencia artificial, machine learning, deep learning, natural networks
- Tecnologías de procesamiento masivo de datos e información: Open/Linked/Big Data
Alcance
A lo largo de los años la industria del desarrollo software ha ido evolucionando, adquiriendo importancia y recorrido. Pero, a pesar de la aparición de nuevas herramientas y metodologías, sigue teniendo los mismos problemas y dificultades que se suceden desde su origen: baja productividad y eficiencia.
La aplicación intensiva de la Inteligencia Artificial puede solucionar dichos problemas, dentro de un sector estratégico y horizontal en la sociedad actual que está en fase de continua expansión y es palanca para la transformación del resto de sectores.
Para ello surge el proyecto AI4DEV, que pretende, mediante la aplicación de IA, aumentar la productividad, la calidad y eficiencia de un sector de alto impacto en el resto de sectores como es el desarrollo de software.
Desafío
AI4DEV es una plataforma, que mediante la utilización de algoritmos evolutivos, búsquedas metaheurísticas y entrenamiento de redes neuronales, va a intervenir en el ciclo de vida completo del desarrollo software, gracias al desarrollo integrado de tres componentes principales:
- Servicio de Estimación de esfuerzos: es la fase inicial en todo el proceso de desarrollo software y origen de los principales conflictos y desviaciones.
- Servicio de Refactorización automática: fase de ejecución y origen de numerosos problemas de codificación.
- Servicio de Generación de casos de prueba: fase final del ciclo de vida del software que actualmente tiene mucho recorrido en su automatización y comprensión.
La mejora de la productividad y eficiencia en el desarrollo de software va a generar un impacto en todos los niveles de la sociedad. Las empresas transformadas digitalmente podrán ser más competitivas, generando trabajo de valor.
Tecnologías
- Inteligencia artificial, machine learning, deep learning, natural networks.
- Tecnologías de procesamiento masivo de datos e información (Open/Linked/Big Data).
Solución
El impacto del proyecto en el sector TIC es exponencial, ya que es un sector estructural.
El principal objetivo de AI4DEV es mejorar la productividad, la calidad y la eficiencia en la ejecución de proyectos de software incorporando técnicas de inteligencia artificial en tres aspectos del desarrollo de software (pruebas, mantenimiento y planificación de proyectos). Esto da lugar a los tres objetivos principales del proyecto:
- Generación de casos de prueba. Investigar cómo puede realizarse la generación automática de IA de casos de prueba en un entorno industrial de forma que los casos generados resulten comprensibles por parte de los ingenieros de prueba y fácilmente mantenibles.
- Refactorización automática. Investigar cómo reforzar el código fuente de proyectos Java de forma automática utilizando técnicas metaheurísticas para eliminar problemas detectados por las herramientas de análisis de la calidad del código utilizando técnicas de inteligencia artificial.
- Estimación de esfuerzos. Investigar el uso de inteligencia artificial y, en particular, de redes neuronales (p.ej., recurrentes), para estimar el esfuerzo de tareas de un proyecto software a partir de una descripción textual de las mismas.