Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Techniques to improve testing scalability on concurrent programs: combining static analysis and testing for Deadlock detection

dc.contributor.advisorAlbert Albiol, Elvira
dc.contributor.advisorGómez-Zamalloa Gil, Miguel
dc.contributor.authorIsabel Márquez, Miguel
dc.date.accessioned2023-06-19T16:20:34Z
dc.date.available2023-06-19T16:20:34Z
dc.date.issued2015
dc.degree.titleDobler Grado en Ingeniería Informática y Matemáticas
dc.descriptionTrabajo de Fin de Grado en Ingeniería Informática (Universidad Complutense, Facultad de Informática, curso 2014/2015)
dc.description.abstractStatic deadlock analyzers might be able to verify the absence of deadlock, but when they detect a potential deadlock cycle, they provide little (or even none) information on their output. Due to the complex ow 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 paper proposes the combined use of static analysis and testing for effective deadlock detection in asynchronous programs. Our main contributions are: (1)We present an enhanced semantics which allows an early detection of deadlocks during testing and that can give to the user a precise description of the deadlock trace. (2) We combine our testing framework with the abstract descriptions of potential deadlock cycles computed by an existing static deadlock analyzer. Namely, such descriptions are used by our enhanced semantics to guide the execution towards the potential deadlock paths (while other paths are pruned). When the program features a deadlock, our combined use of static analysis and testing provides an effective technique to find deadlock traces. While if the program does not have deadlock, but the analyzer inaccurately spotted it, we might be able to prove deadlock freedom.
dc.description.abstractLos 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ómalo a partir de la información abstracta proporcionada por el análisis estático. Este trabajo propone el uso combinado de un análisis estático y el testing dinámico para la detección efectiva de deadlocks en programas asíncronos. Las principales contribuciones son: (1) Presentamos una semántica extendida que permite la detección instantánea de bloqueos durante el testing y dar al usuario una descripción precisa de la traza de deadlock. (2) Además combinamos, nuestra herramienta de testing con las descripciones abstractas de posibles ciclos de deadlock, inferidos por un análisis estático existente. Tales descripciones son usadas en nuestra semántica extendida para guiar la ejecución hacia posibles caminos de deadlock, mientras que el resto son podados. Cuando el programa contiene un bloqueo, el uso combinado del análisis estático y el testing nos proporciona una técnica efectiva para encontrar trazas de deadlock. En caso de que el programa no contenga ninguno, pero el análisis sí que lo detecte debido a pérdidas de precisión, podríamos llegar a demostrar la ausencia de deadlocks.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.eprint.idhttps://eprints.ucm.es/id/eprint/31301
dc.identifier.urihttps://hdl.handle.net/20.500.14352/37019
dc.language.isoeng
dc.page.total59
dc.rightsAtribución-NoComercial 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttps://creativecommons.org/licenses/by-nc/3.0/es/
dc.subject.cdu004.42.032.24(043.3)
dc.subject.cdu004.03(043.3)
dc.subject.keywordDeadlock cycle constraint
dc.subject.keywordDeadlock analysis
dc.subject.keywordGuided testing
dc.subject.keywordAbstract cycle
dc.subject.keywordDeadlock detection
dc.subject.keywordWaiting interval
dc.subject.keywordDeadlock chain
dc.subject.keywordInterleaving table
dc.subject.keywordRestricciones de ciclo de deadlock
dc.subject.keywordAnálisis de deadlock
dc.subject.keywordTesting guiado
dc.subject.keywordCiclo abstracto
dc.subject.keywordDetección de deadlocks
dc.subject.keywordIntervalo de espera
dc.subject.keywordCadena de deadlock
dc.subject.keywordTabla de entrelazados
dc.subject.ucmProgramación de ordenadores (Informática)
dc.subject.unesco1203.23 Lenguajes de Programación
dc.titleTechniques to improve testing scalability on concurrent programs: combining static analysis and testing for Deadlock detection
dc.typebachelor thesis
dspace.entity.typePublication
relation.isAdvisorOfPublication6eef4c69-fd36-4274-b9c2-e93105ad2268
relation.isAdvisorOfPublication.latestForDiscovery6eef4c69-fd36-4274-b9c2-e93105ad2268
relation.isAuthorOfPublication06ba5ba7-fae5-4f98-99b7-3830106dee88
relation.isAuthorOfPublication.latestForDiscovery06ba5ba7-fae5-4f98-99b7-3830106dee88

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Miguel Isabel-TFG.pdf
Size:
598.48 KB
Format:
Adobe Portable Document Format