Una nueva plataforma open source, basada en algoritmos genéticos, permite detectar errores en los programas de los desarrolladores, lo que ayuda a ahorrar tiempo y dinero en su implementación.
John Henry Holland fue profesor de filosofía, ingeniería eléctrica y ciencias de la computación en la Universidad de Michigan. Además de su trabajo como docente, fue un investigador pionero en sistemas complejos y ciencia no lineal. Pero quizás sea más conocido como el «padre» de los algoritmos genéticos.
Esta serie de pasos organizados reciben esa denominación debido a que se inspiran en la propia evolución biológica y en las teorías de genética molecular. Desde hace tiempo, los algoritmos genéticos son utilizados como métodos adaptativos para resolver problemas de búsqueda y optimización.
La genética y la computación, por tanto, no sólo han unido sus fuerzas en el terreno de la bioinformática aplicada por ejemplo al estudio del ADN, sino que estos algoritmos genéticos son una buena muestra de cómo la inteligencia artificial puede inspirarse en los comportamientos biológicos para tratar de replicarlos a la hora de resolver problemas complejos.
Los algoritmos genéticos, utilizados desde hace años, pueden tener ahora una nueva utilidad: descubrir posibles errores en el software. Y es que según un reciente estudio de la Universidad de Cambridge, la mayor parte de los desarrolladores gastan la mitad de su tiempo detectando estos problemas, corrigiéndolos y solventándolos.
Con el objetivo de evitar esta pérdida de tiempo, rendimiento y eficacia, científicos de la Saarland University han empleado algoritmos genéticos que permitirían «automatizar» los análisis para detectar posibles errores en el software que utilizamos a diario. Con esta finalidad los investigadores han impulsado el conocido sistema XMLMATE.
Esta iniciativa permite realizar un «escaneado» rápido del código del programa que queramos investigar y ver si cuenta con errores que puedan corregirse fácilmente. Según el equipo de Havrikov, no es sencillo detectar este tipo de problemas, por lo que automatizar su búsqueda a través de algoritmos genéticos ayudará a que estos errores ocurran cada vez con menor frecuencia.
XMLMATE se ha desarrollado como plataforma open-source para garantizar que todas las personas que quieran mejorarlo puedan hacerlo. Su estructura basada en algoritmos genéticos muestra una vez más cómo gracias a la innovación, los desarrolladores podrían ahorrarse un montón de tiempo y dinero a la hora de analizar los programas que realizan. Genética y computación vuelven a dar con la clave para mejorar nuestro software.
Imágenes | NIST, Math Works