lunes, 29 de abril de 2019

La herramienta NIST aumenta las posibilidades de encontrar peligrosas fallas de software


Después de más de 20 años de mejora continua, el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU. Cree que ha alcanzado un hito importante con algo llamado Medición de cobertura combinatoria (MCP).

Como parte de un kit de herramientas de investigación denominado Pruebas Combinatorias Automatizadas para Software (ACTS), CCM es un enfoque algorítmico que se utiliza para probar el software en busca de interacciones entre las variables de entrada que pueden causar fallas inesperadas.

Suena como una bocanada técnica, pero esta es una buena noticia para el software, especialmente cuando se encuentra dentro de sistemas complejos como aviones, automóviles y centrales eléctricas, donde este tipo de problemas pueden poner en peligro la vida.

Por lo general, este será un software que recibe entradas de una serie de sensores que generan conflictos inesperados que el software no puede resolver, por ejemplo, entre la temperatura, la presión o la altitud.

Los diseñadores intentan contrarrestar estos problemas modelando tantas interacciones como pueden antes de que se use el software en el mundo real, que es donde ACTS y CCM intervienen.

Pero siempre ha habido un problema: modelar suficientes interacciones a partir de suficientes variables para detectar todas las combinaciones posibles que podrían conducir a un problema.

Esto ha ido mejorando desde finales de la década de 1990, cuando la idea comenzó a funcionar, más recientemente, durante una revisión del kit de herramientas ACTS en 2015.

Ahora, en colaboración con la Universidad de Texas, SBA Research de Austria, y Adobe (una de varias compañías grandes que usan el kit de herramientas), NIST cree que la revisión de CCM en 2019 ha dado algún tipo de avance.

El matemático de NIST Raghu Kacker dijo sobre las dificultades de probar software complejo:

Antes de revisar CCM, era difícil probar el software que manejaba miles de variables a fondo. Esa limitación es un problema para el software moderno y complejo del tipo que se usa en aviones de pasajeros y plantas de energía nuclear, ya que no solo es altamente configurable, sino que también es vital. La vida y la salud de las personas dependen de ello.

Con la ayuda de un nuevo algoritmo desarrollado por la SBA, la herramienta del NIST había pasado de ser capaz de modelar unos cientos de variables a 2,000 de combinaciones de entradas de cinco vías.

Aunque no es una parte oficial de la herramienta, los desarrolladores pueden solicitar el algoritmo. El científico informático del NIST Richard Kuhn dijo:

La colaboración ha demostrado que podemos manejar clases más grandes de problemas ahora. Podemos aplicar este método a más aplicaciones y sistemas que antes eran demasiado difíciles de manejar.

No lejos de la superficie de este desarrollo está el problema del costo: ¿cuánto tiempo y esfuerzo deben dedicar los desarrolladores a eliminar los errores de su software?

La esperanza de NIST debe ser que cualquier cosa que pueda eliminar más errores por el mismo esfuerzo tendrá un efecto positivo en la seguridad y la confiabilidad.

Desafortunadamente, por más útil que pueda ser el CCM, su efectividad ahora debe medirse contra la creciente complejidad de los sistemas de software que adquieren capacidades una vez inimaginadas, como la automatización.

Existe una amplia gama de productos comerciales que quieren ayudar a resolver este problema. La inversión que el NIST está realizando en ACTS y CCM sugiere que todavía hay mucho espacio para un conjunto de herramientas que todos puedan usar.


No olvides Compartir...


Siguenos en twitter: @disoftin

No hay comentarios:

Publicar un comentario

Más leídas este mes