Abstract

Esta tesis propone una metodologia de analisis dinamico que mejora el diagnostico de programas erroneos escritos en el lenguaje Maude. La idea clave es combinar tecnicas de verificacion de aserciones en tiempo de ejecucion con la fragmentacion dinamica de trazas de ejecucion para detectar automaticamente errores en tiempo de ejecucion, al tiempo que se reduce el tamano y la complejidad de las trazas a analizar. En el caso de violarse una asercion, se infiere automaticamente el criterio de fragmentacion, lo que facilita al usuario identificar rapidamente la fuente del error. En primer lugar, la tesis formaliza una tecnica destinada a detectar automaticamente eventuales desviaciones del comportamiento deseado del programa (sintomas de error). Esta tecnica soporta dos tipos de aserciones definidas por el usuario: aserciones funcionales (que restringen llamadas a funciones deterministas) y aserciones de sistema (que especifican los invariantes de estado del sistema). La tecnica de verificacion dinamica propuesta es demostrablemente correcta en el sentido de que todos los errores senalados definitivamente delatan la violacion de las aserciones. Tras eventuales violaciones de aserciones, se generan automaticamente trazas fragmentadas (es decir, trazas simplificadas pero igualmente precisas) que ayudan a identificar la causa del error. Ademas, la tecnica tambien sugiere una posible reparacion para las reglas implicadas en la generacion de los estados erroneos. La metodologia propuesta se basa en (i) una notacion logica para especificar las aserciones que se imponen a la ejecucion; (ii) una tecnica de verificacion aplicable en tiempo de ejecucion que comprueba dinamicamente las aserciones; y (iii) un mecanismo basado en la generalizacion (ecuacional) menos general que automaticamente obtiene criterios precisos para fragmentar trazas de ejecucion a partir de aserciones falsificadas. Por ultimo, se presenta una implementacion de la tecnica propuesta en la herramienta de analisis dinamico basado en aserciones ABETS, que muestra como es posible combinar el trazado de las propiedades asertadas del programa para obtener un algoritmo preciso de analisis de trazas que resulta util para el diagnostico y la depuracion de programas.; This thesis proposes a dynamic analysis methodology for improving the diagnosis of erroneous Maude programs. The key idea is to combine runtime assertion checking and dynamic trace slicing for automatically catching errors at runtime while reducing the size and complexity of the erroneous traces to be analyzed (i.e., those leading to states that fail to satisfy the assertions). In the event of an assertion violation, the slicing criterion is automatically inferred, which facilitates the user to rapidly pinpoint the source of the error. First, a technique is formalized that aims at automatically detecting anomalous deviations of the intended program behavior (error symptoms) by using assertions that are checked at runtime. This technique supports two types of user-defined assertions: functional…

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.