"Ingeniería del Software
Automática"
Dra.
María Alpuente Frasnedo
Dpto de Sistemas Informáticos y Computación
Universidad Politécnica de Valencia
Resumen
Los sistemas
informáticos desempeñan un papel esencial en la Sociedad
de la Informacion.
A medida que la sociedad se implica
más en tales sistemas
(a través de la creciente
avalancha originada por Internet, las redes de
telecomunicaciones, etc), y crece su
dependencia hacia ellos,
la necesidad de asegurar la
corrección de su comportamiento se hace
patente. Los usuarios de las nuevas
tecnologías, trabajando en un contexto global
donde cada vez más gente y
organizaciones entran en contacto, cooperan y comercian,
encuentran cada vez más
frustrantes las consecuencias derivadas de los
fallos de software (como el tener
que reiniciar el equipo para recuperar un
comportamiento estable del sistema),
por no hablar de las repercusiones que pueden
tener estos fallos en las
áreas donde la seguridad es crítica.
Por su naturaleza, las
técnicas y herramientas automáticas deben
descansar en fundamentos
sólidos que permitan al usuario de los mismos
(ingeniero de requisitos,
programador, o gestor) confiar en la aplicacion bajo
cualquier circunstancia. Esta es la
perspectiva que guía
la aplicacion de los métodos
formales en la ingeniería del software.
La charla se centra en
técnicas formales, y las correspondientes
herramientas automáticas
asociadas,
que dan soporte sistemático y
racional al desarrollo del software.
Para mejorar los resultados de la
aplicacion de los metodos formales
nuestro enfoque apuesta por una
aproximacion lightweight
('peso ligero', que 'pesa poco' y
'pega fuerte'..) que,
en contraste con otros
métodos más tradicionales que promueven un
formalizacion excesiva y que
requiere una formacion matematica poco
habitual en los usuarios finales,
se basa en una seleccion precisa y
focalizada de los metodos, lenguajes,
etc, que integra una variedad de
lenguajes, técnicas formales y herramientas
automáticas que resulta mas
beneficiosa en la practica: por ejemplo, tecnología
para soportar el análisis,
especificación, verificación, depuración,
certificación,
síntesis y
transformación de código,
con aplicaciones en minería
de datos, sistemas automatizados para la
toma de decisiones, o
tecnología de componentes, por poner algunos ejemplos.