ÎÚÑ»´«Ã½

Saltar al contenido
Client story

Éxito del análisis de código mediante aprendizaje automático en la Agencia Federal de Empleo

ÎÚÑ»´«Ã½, junto con el integrador de sistemas FEA y otros socios, desarrolla una nueva herramienta para controlar la garantía de calidad inteligente en un gran sistema de software

La AEF presta servicios a millones de ciudadanos

La Agencia Federal de Empleo (FEA) es uno de los mayores usuarios de tecnologías de la información en Alemania. Ofrece una amplia gama de servicios en los mercados laboral y de formación tanto a ciudadanos como a empresas e instituciones. Una red nacional de agencias de empleo y sucursales garantiza que estos servicios se lleven a cabo de manera oportuna y eficaz. Además, la agencia lleva a cabo investigaciones sobre el mercado laboral y ocupacional, observación del mercado laboral y elaboración de informes, y registra estadísticas del mercado laboral.

También abona prestaciones de desempleo como el Arbeitslosengeld II, conocido como «Hartz IV». Dado que se trata de la prestación básica para los ciudadanos sin patrimonio ni ingresos suficientes, el pago puntual y correcto es especialmente importante.

La identificación de errores ocultos de software es un reto

El sistema utilizado por la AEF para el cálculo y pago de unos 25.000 millones de euros anuales en prestaciones de desempleo consta de unas 800.000 líneas de código y realiza millones de transacciones cada mes. Antes de lanzar cada actualización, los métodos convencionales de control de calidad prueban a fondo el software. Sin embargo, incluso para desarrolladores avanzados, hay errores difíciles de identificar con los métodos estándar de revisión de código. Las pruebas cubren la mayor parte del código, pero los errores suelen residir en las secciones que no se evalúan por completo. Una vez que se produce un error en producción, el AEF tiene que reaccionar al instante, normalmente con una corrección en caliente.

Como proveedor de servicios en la FEA desde hace mucho tiempo, ÎÚÑ»´«Ã½ poseía una gran comprensión de los retos a los que se enfrentaba la organización. Durante la actividad operativa de un gran proceso informático de la AEF, el equipo del proyecto fue plenamente consciente del reto del cliente y, en colaboración con este, decidió resolver el problema mediante un enfoque innovador basado en el aprendizaje automático.

La implantación se llevó a cabo en colaboración con el integrador de sistemas informáticos FEA. Además, la cátedra de Sistemas, Procesos y Sistemas de Información de la Universidad de Potsdam participó previamente en la investigación sobre el tema.

El sistema inteligente identifica patrones y reglas para evitar errores

La AEF tenía unos requisitos de calidad muy elevados y ya utilizaba herramientas de análisis estático de código. Analizaban el código en función de reglas predefinidas y, si se infringía una regla, se identificaba como un posible error de código. Sin embargo, esto significaba que sólo podían detectarse los errores que infringían las reglas existentes. Por tanto, resultaba difícil identificar problemas complejos y resolverlos sin hotfixes. El aprendizaje automático permite encontrar incluso errores desconocidos hasta ahora.

ÎÚÑ»´«Ã½ desarrolló una herramienta de análisis de código estático basada en el aprendizaje automático para encontrar patrones y reglas de código libre de errores en una base de código. Ahora se identifican y corrigen más errores antes de que puedan causar daños.

El resultado cuenta: prevención eficaz y efectiva de fallos de software

Ahora, la AEF puede identificar más fácilmente los errores de código durante las pruebas, lo que reduce aún más los fallos de funcionamiento del software. Además, será más fácil evitar problemas similares en el futuro al reconocer las fuentes de error con mayor fiabilidad antes de la publicación del software a través de patrones y violaciones de reglas ocultas en el código.

Tras dos meses de despliegue, el sistema ya ha encontrado reglas útiles para los requisitos funcionales y no funcionales. Por ejemplo, el sistema detecta si falta código para cerrar una transacción y evita así problemas de rendimiento. Además, el sistema indica si los métodos de ayuda existentes pueden resolver un problema, lo que proporciona una solución más sencilla que volver a codificar repetidamente la misma cuestión.

El enfoque colaborativo

La Collaborative Business ExperienceTM es fundamental para la filosofía de ÎÚÑ»´«Ã½ y un pilar de nuestra prestación de servicios.

Junto con la FEA, su integrador de sistemas, y un grupo de estudiantes de la Cátedra de Informática Empresarial, Procesos y Sistemas de la Universidad de Potsdam, ÎÚÑ»´«Ã½ ha fundado un grupo de investigación para el aprendizaje automático en el análisis estático de código. El concepto de Collaborative Business ExperienceTM es un componente central de la filosofía corporativa y tiene por objeto apoyar los procesos empresariales y las innovaciones mediante un enfoque colaborativo y centrado en las personas. En este caso, cada dos semanas había un intercambio telefónico con todos los participantes sobre cómo se podían encontrar patrones y reglas de asociación adicionales en el código y utilizarlos para detectar mejor los errores.