Los errores en el software informático pueden ir desde una molestia leve hasta grandes pérdidas económicas y, en los peores casos, a una trágica pérdida de vidas humanas.
La gran mayoría de las empresas actuales dependen del software para dirigir sus negocios. A lo largo de toda la cadena de suministro y hasta el último cliente, es el software el que hace funcionar todo.
La nueva aplicación de Android de Facebook ha tratado de utilizar, por primera vez, la inteligencia artificial para encontrar y corregir errores en su software.
Los errores son un gran problema
Las consecuencias de los errores de software son amplias y de gran alcance.
Por ejemplo, en 2017, un fallo en el sistema informático del NHS del Reino Unido provocó que no se enviaran 709 000 documentos médicos. Mientras que algunas personas perdieron citas rutinarias como consecuencia, otras no recibieron sus historiales médicos o, peor aún, los resultados de sus pruebas de cáncer. Casi 2000 pacientes quedaron expuestos a sufrir daños como consecuencia.
Ese mismo año, la aplicación de Uber causó problemas a un ciudadano francés al revelar su infidelidad a su esposa. Seguía enviando notificaciones push con su ubicación, a pesar de que él había cerrado sesión en el servicio.
En 2018, Tricentis, una empresa de pruebas de software con sede en Viena, publicó un informe en el que se detectaron 606 fallos graves de software que afectaron a 314 empresas y a la impresionante cifra de 1,7 billones de dólares en activos.
Cómo la IA podría ahorrar tiempo a los desarrolladores
Los desarrolladores de software tienen un flujo constante de correcciones que identificar e implementar, algunas críticas y otras rutinarias, y cuentan con sistemas y procesos que les ayudan a detectar errores. Sin embargo, gran parte del trabajo consiste en revisar el código manualmente.
La nueva herramienta híbrida de IA de Facebook (denominada híbrida porque aún requiere la interacción humana) se presentó para aliviar parte de esta labor preliminar.
SapFix fue creada por ingenieros de Facebook y está diseñada para reducir drásticamente el tiempo que los ingenieros dedican a depurar programas. También está diseñada para acelerar el proceso de lanzamiento de nuevo software.
Funciona en dos partes. Primero Sapienz, la herramienta inteligente de pruebas de software de Facebook, encuentra los errores. Después, SapFix genera automáticamente las correcciones y las propone a los ingenieros, quienes realizan la comprobación final antes de poner en marcha la corrección.
«Desde que empezamos a probar SapFix en agosto, la herramienta ha generado con éxito parches que han sido aceptados por revisores humanos e implementados en producción», afirma la empresa, y añade que:
«Que sepamos, esta es la primera vez que una corrección generada por una máquina, con pruebas y reparación automatizadas de extremo a extremo, se ha implementado en una base de código de la escala de Facebook».
Los detalles más precisos sobre su funcionamiento pueden consultarse aquí. Mientras tanto, Facebook promete que publicará las herramientas como código abierto «en el futuro», con los comentarios que reciba para seguir mejorando sus innovaciones.
Uno de sus aspectos más destacados, y que podría haber resultado útil tanto para el NHS como para Uber, es que permitirá prevenir los fallos antes de que se produzcan.


