Universidad Complutense de Madrid
E-Prints Complutense

Deadlock-Guided Testing in CLP

Impacto

Downloads

Downloads per month over past year



Isabel Márquez, Miguel (2017) Deadlock-Guided Testing in CLP. [Trabajo Fin de Máster]

[img]
Preview
PDF
1MB


Abstract

Static deadlock analyzers might be able to verify the absence of deadlock. However, they are usually not able to detect its presence. Also, when they detect a potential deadlock cycle, they provide little (or even no) information on their output. Due to the complex flow of concurrent programs, the user might not be able to find the source of the anomalous behaviour from the abstract information computed by static analysis. This work proposes the combined use of static analysis and testing for effective deadlock detection in asynchronous programs. The asynchronous program is first translated into a CLP-version so that the whole combined approach is carried out by relying on the inherent backtracking mechanism and constraint handling of CLP. When the program features a deadlock, our combined use of analysis and testing provides an effective technique to catch deadlock traces. While if the program does not have deadlock, but the analyzer inaccurately spotted it, we might be able to prove deadlock freedom. The main results in this project have been submitted to:
- the special issue on Computational Logic for Verification of the journal Theory and Practice of Logic Programming and
- the 27th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR'17), and are currently under revision.

Resumen (otros idiomas)

Los análisis estáticos de deadlock son, a menudo, capaces de asegurar la ausencia de bloqueos, pero cuando detectan un posible ciclo de deadlock, la información que devuelven como salida es escasa e insuficiente. Debido al complejo flujo de ejecución existente en los programas concurrentes, el usuario podría ser incapaz de encontrar la causa del comportamiento anóomalo a partir de la información abstracta proporcionada por el análisis estático. Este trabajo propone el uso combinado de análisis estático y el testing para la detección efectiva de deadlocks en programas asíncronos. Estos programas imperativos son primero traducidos a una versión declarativa (CLP), de manera que la aproximación combinada es llevada a cabo completamente por el mecanismo de backtracking inherente y al manejo de restricciones de CLP. Cuando el programa encuentra un deadlock, el uso combinado del testing y el análisis estático nos proporciona una técnica efectiva para encontrar trazas de deadlock. En caso de que el programa no contenga ninguno, pero el analizador sí que los encuentre por pérdidas de precisión, nosotros podríamos ser capaces de demostrar la ausencia de deadlock. Los principales resultados de este trabajo han sido presentados a: - la edición especial Computacional Logic for Verifcation de la revista Theory and Practice of Logic Programming y - la conferencia internacional de Logic-Based Program Synthesis and Transformation (LOPSTR'17) y se encuentran actualmente bajo revisión. Todas las técnicas desarrolladas en este trabajo han sido implementadas en la herramienta SYCO, la cual ha sido aceptada y presentada en la conferencia internacional de Compilers Construction (CC'16) [10].

Item Type:Trabajo Fin de Máster
Additional Information:

Máster en Ingeniería Informática, Facultad de Informática, Departamento de Sistemas Informáticos y Computación, curso 2016-2017.

Directors:
DirectorsDirector email
Albert Albiol, Elvira
Gómez-Zamalloa Gil, Miguel
Uncontrolled Keywords:Testing, Deadlock detection, Symbolic execution, Test case generation, Verifcation, Deadlock analysis
Palabras clave (otros idiomas):Testing, Detección de deadlocks, Ejecucicón simbólica, Generación de casos de prueba, Verificación, Análisis de deadlock
Subjects:Sciences > Computer science > Computer programming
Sciences > Computer science > Operating systems
Título del Máster:Máster en Ingeniería Informática
ID Code:43974
Deposited On:21 Jul 2017 10:37
Last Modified:21 Jul 2017 10:38

Origin of downloads

Repository Staff Only: item control page