Full text
Sistemas Cualitativos y Diagnosis Diagnosis basada en modelos para la depuración de software mediante técnicas simbólicas. R. Ceballos, R. M. Gasea, Carmelo Del Valle y Miguel Toro Departamento de Lenguajes y Sistemas Informáticos, Universidad de Sevilla Escuela Superior de Ingeniería Informática, Avenida Reina Mercedes s/n 41012 Sevilla(Spain) Resumen En la programación es esencial tener herramientas para la diagnosis del software que ayuden al pro gramador y al ingeniero de desarrollo a localizar los errores. En este trabajo, proponemos una nueva aproximación que permite identificar los posibles errores en programas software usando técnicas simbóli cas(Bases de Grobner). Esta técnica permite generar, a partir la estructura y semántica del programa original, un modelo más simple del programa para llevar a cabo la diagnosis. Se tienen en cuenta las especificaciones formales y el código fuente del programa, y es a partir de ellos como se detecta la sentencia o el conjunto de sentencias que contienen el error al emplear un caso de test determinado. La metodología comienza eliminando las variables no observables y obtiene nuevos asertos referidos a grupos de sentencias del programa. A partir de ahí construimos una red de contextos formada por estos grupos de sentencias y sus correspondientes asertos como nodos, y por último obtenemos la diagnosis mínima utilizando un algoritmo estándar. l. Introducción El desarrollo de programas introduce errores que son la causa de paradas y pérdidas de tiem po en la producción de software. La diagnosis permite identificar las partes del programa que no se comportan de la forma esperada. La may oría de las aproximaciones aparecidas en la últi ma década para realizar diagnosis de software se han basado en el uso de modelos (DBM). La formalización de la diagnosis basada en modelos se presentó en (DeKleer&Williams87] y IReiter87], donde se propuso una teoría general para el problema de explicar las discrepancias ntre los comportamientos observados y correc tos de los mecanismos. Apoyándose en ella, la mayoría de las aproximaciones de DBM para componentes caracterizan la diagnosis de un 23 sistema como una colección de conjuntos míni mos de componentes fallando, que explican los comportamientos observados. El Proyecto JADE lleva varios años investi gando sobre la diagnosis basada en modelos aplicada al software, o más concretamente en la depuración basada en modelos (MB Debug ging). Usa un modelo de dependencias basado en el código fuente del programa. Se trata de representar las sentencias y expresiones como si fuesen componentes y las variables como si fuesen las conexiones, realizando un mapeo de constructos Java™ a componentes. Las asig naciones, condiciones, bucles, etc; tienen su cor respondiente método de transformación. Por ejemplo los bucles son transformados en senten cias selectivas anidadas. Para mayor concreción puede consultarse [Mateis99) y [MateisOOJ.