VOLVER

Share

LA HORMIGA, UNA GRAN ALIADA DEL SOFTWARE


01 de junio de 2012

Fuente: Universidad de Málaga (UMA).

 

Los algoritmos basados en colonias de hormigas encuentran los defectos del software eficientemente.Vivimos en un mundo rodeado de software, programas que controlan no sólo el ordenador, sino los teléfonos móviles, los coches, los televisores e incluso los frigoríficos. Cuando alguno de estos programas falla, los mencionados ingenios tecnológicos dejan de funcionar adecuadamente (el ordenador no responde, el coche deja de marcar la velocidad, el teléfono se apaga, etc). Por este motivo las empresas desarrolladoras de software gastan gran cantidad de recursos (hasta el 50%) en pruebas de software que permitan asegurar con una alta probabilidad que no se han cometido errores.

 

La cifra se puede elevar aún más en el caso del desarrollo de software crítico, como el que controla centrales nucleares, vehículos espaciales, aviones, instrumentación médica o sistemas financieros, entre otros. Son muchas las historias de defectos en el software que provocaron populares fracasos, como el fallo en el lanzamiento del Ariane 5 en 1996 que provocó su autodestrucción a los 40 segundos del despegue.

Pero, ¿por qué es tan difícil encontrar los defectos de los programas? La gestación de grandes aplicaciones informáticas es compleja, requiere un gran esfuerzo intelectual e involucra a una gran cantidad de personas que deben ponerse de acuerdo en la forma en que se va a desarrollar el sistema. Componentes software desarrollados por distintas personas (que posiblemente no se conozcan) deben funcionar de forma cooperativa a la perfección. La probabilidad de cometer errores es muy alta.

 

Muchos de estos defectos se descubren durante el desarrollo y otros tantos en la fase de pruebas, pero aún así el software llega a manos de los usuarios finales con defectos sutiles que no han sido detectados en las pruebas. Es posible imaginar un sistema software como un gran pajar en el que se esconden algunas agujas que nadie ha visto por ser demasiado pequeñas y que, en el momento menos esperado, se clavan en uno de los usuarios finales. Es en este gran pajar que constituye el sistema software donde las hormigas tienen algo que aportar para descubrir las agujas.

Existen especies de hormigas que al caminar depositan una sustancia química, denominada feromona, que sirve de guía a otras hormigas y que se va evaporando con el paso del tiempo. El comportamiento de estas hormigas es relativamente simple. Si una hormiga encuentra rastros de feromona en el suelo los sigue, en caso contrario avanza de manera más o menos aleatoria o guiada por otros estímulos, como puede ser la presencia de comida. En el caso en que una hormiga encuentre varios rastros de feromona, normalmente seguirá con mayor probabilidad aquel en el que la cantidad de feromona es mayor.

 

Este comportamiento simple en apariencia da lugar a una propiedad emergente en las colonias de hormigas: son capaces de encontrar el camino más corto de su nido a la comida. La razón es que las hormigas que sigan el camino más corto tardarán menos tiempo en hacer el recorrido del nido a la fuente de comida, aumentando de esta manera la densidad de feromona en dicho camino. Este aumento de feromona invitará al resto del grupo a seguir el camino más corto, lo cual tendrá como efecto el incremento aún más rápido de la densidad de esta sustancia química en dicho camino.

El comportamiento de las hormigas ha servido de inspiración para crear algoritmos basados en colonias de hormigas (en inglés Ant Colony Optimization, ACO) capaces de resolver en un ordenador problemas relacionados con la búsqueda del camino más corto entre dos puntos.

 

Dentro del Grupo de Ingeniería del Software de la Universidad de Málaga (GISUM) se han utilizado estos algoritmos para buscar la secuencia de pasos más corta que hace que un programa falle. Las hormigas artificiales, es decir, los agentes que simulan a una hormiga real en el ordenador, deben buscar el error como si fuera la comida, guiadas por feromonas artificiales y por información adicional que el propio programa proporciona para ayudarlas a llegar a su objetivo.

Los resultados obtenidos sobre un gran conjunto de programas muestran que las hormigas artificiales son capaces de encontrar los defectos en el software con mayor eficacia y usando menos recursos (memoria y tiempo) que otras técnicas diseñadas para la misma labor, ahorrando así recursos de los proyectos software sin reducir, sino más bien aumentando, la fiabilidad del producto final.

 

Entre los programas que han sido testados con esta técnica se encuentran protocolos de comunicaciones, algoritmos distribuidos y software de ascensores. El uso de estas técnicas en el tejido industrial puede suponer un ahorro importante a las empresas de desarrollo software. En el futuro los investigadores pretenden ser capaz no solo de descubrir los defectos que existen, sino también de asegurar con certeza que no queda ninguno.

 

Más información: uciencia.uma.es/


Share

Últimas publicaciones

Aplican la ciencia ciudadana para reducir el tiempo de uso del móvil en jóvenes andaluces
Sevilla | 28 de mayo de 2024

Investigadores de las Universidades de Sevilla, Jaén y Cádiz participan en el proyecto ‘Desconéctate para Conectar: Fomentando un Estilo de Vida Activo y Saludable entre los Jóvenes Andaluces’ que buscará estrategias concretas para incentivar a estudiantes de secundaria, bachillerato y universidad a que cambien sus hábitos de uso de dispositivos móviles por actividades físicas.

Sigue leyendo
Descubren un nuevo gen que hace resistente al girasol contra la planta parásita jopo
Córdoba | 27 de mayo de 2024

Un equipo de investigación del Instituto de Agricultura Sostenible (IAS-CSIC) ha descrito una pieza del ADN que impide que las raíces de este cultivo sean infectadas por uno de sus patógenos más letales, el jopo. Además de determinar su posible función y la localización en su genoma, ha demostrado la posibilidad de transferirlo como mecanismo natural de defensa desde una especie silvestre a otras variedades de siembra.

Sigue leyendo
Un estudio del CSIC revela que zorzales, codornices y pinzones son las especies de aves más propensas a tener garrapatas
Sevilla | 27 de mayo de 2024

Un nuevo estudio liderado por la Estación Biológica de Doñana – CSIC ha analizado la prevalencia de garrapatas en más de 600.000 aves capturadas a lo largo de 17 años. Los resultados podrán ayudar a identificar en qué especies se deberían focalizar los esfuerzos de vigilancia de enfermedades zoonóticas. Los resultados de este trabajo se han publicado en la revista One Health.

Sigue leyendo

#CienciaDirecta

Tu fuente de noticias sobre ciencia andaluza

Más información Suscríbete

Ir al contenido