Técnicas de detección y diagnosis de errores en consultas de bases de datos

Tesis doctoral de Yolanda Garcia Ruiz

El objetivo de esta tesis es el diseño y desarrollo de técnicas para la detección y diagnosis de errores en el campo de las bases de datos y en particular, en consultas a bases de datos. Para ayudar a la detección de errores se desarrollan técnicas para la generación automática de casos de prueba. Estos casos de prueba no son más que instancias válidas de la base de datos que facilitan al usuario probar de forma sencilla la corrección de los resultados de las consultas. Para realizar el diagnóstico de errores se proponen técnicas relacionadas con la depuración declarativa o algorítmica. Estas técnicas se basan en la exploración de una estructura que representa el cómputo de la consulta a depurar, conteniendo, además de la información del resultado final, información de todos los resultados intermedios. Para localizar la causa del error, se realizan consultas a un oráculo al que se supone conocimiento de los resultados esperados.Dentro del ámbito de las bases de datos, nos hemos centrado en las bases de datos deductivas, relacionales y semiestructuradas.Las bases de datos deductivas se basan en la utilización de la programación lógica para mantener y consultar los datos. El lenguaje más conocido dentro de este campo es datalog, cuya sintaxis puede verse como un subconjunto del lenguaje lógico prolog. La mayor parte de las propuestas para depurar programas datalog utilizan métodos usados tradicionalmente en depuración imperativa. Otros se basan en el análisis de los árboles de prueba asociados a un programa transformado, que resulta difícil de relacionar con el programa original. En esta tesis se propone una herramienta de depuración basada más en la semántica del programa que en el modelo de cómputo, extendiendo y adaptando las ideas genéricas de la depuración declarativa al caso de datalog.En el caso de las bases de datos relacionales, la fase de pruebas requiere el previo diseño de casos de prueba para su posterior ejecución. Este diseño se realiza, en la mayoría de los casos, de forma manual y se vuelve especialmente difícil en el caso de consultas que involucran gran cantidad de relaciones. Los trabajos relacionados con la generación de casos de prueba para consultas sql, se centran especialmente en el estudio del nivel de cobertura, más que en la propia generación. En esta tesis tratamos el problema de la generación automática de dichos casos de prueba. Los casos de prueba permiten evaluar de forma sencilla si el resultado de una consulta es el esperado. Sin embargo, en el caso de consultas sql que se basan en vistas, el que una vista produzca un resultado incorrecto no implica necesariamente que sea incorrecta; una vista puede producir un resultado inesperado a causa de la errónea definición de otras vistas de las cuales depende. En estos casos, la falta de herramientas apropiadas hace difícil encontrar el fragmento de código al que achacar el error. Los complejos mecanismos de ejecución de estos lenguajes dificultan la ejecución paso a paso típica de otros paradigmas. Es por ello que en esta tesis aplicamos las técnicas de depuración declarativa como mecanismo para la detección y diagnosis de errores en consultas sql que involucran varias vistas.En los últimos tiempos se ha incrementado el interés por los lenguajes de acceso a bases de datos semiestructuradas como xquery y xpath. Al igual que sucedía en los casos de las bases de datos relacionales, se trata generalmente de consultas sobre documentos de gran tamaño, lo que dificulta tanto la prueba como la depuración de las consultas. En esta tesis se ha realizado una inmersión del lenguaje de consulta xpath/xquery en el lenguaje lógico-funcional toy. Esto nos ha permitido utilizar patrones de orden superior y las capacidades de generación y prueba propias de la programación lógico-funcional para localizar errores en las consultas y obtener casos de prueba en forma de documentos xml.

 

Datos académicos de la tesis doctoral «Técnicas de detección y diagnosis de errores en consultas de bases de datos«

  • Título de la tesis:  Técnicas de detección y diagnosis de errores en consultas de bases de datos
  • Autor:  Yolanda Garcia Ruiz
  • Universidad:  Complutense de Madrid
  • Fecha de lectura de la tesis:  08/06/2014

 

Dirección y tribunal

  • Director de la tesis
    • Rafael Caballero Roldan
  • Tribunal
    • Presidente del tribunal: Francisco javier Lopez fraguas
    • Antonio José Fernández leiva (vocal)
    • damiano Zanardini (vocal)
    • María Alpuente frasnedo (vocal)

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio