A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems

Los sistemas software actuales son artefactos complejos cuyo comportamiento es a menudo extremadamente difícil de entender. Este hecho ha llevado al desarrollo de metodologías formales muy sofisticadas para el análisis, comprensión y depuración de programas. El análisis de trazas de ejecución consi...

Full description

Bibliographic Details
Main Author: Frechina Navarro, Francisco
Other Authors: Alpuente Frasnedo, María
Format: Doctoral Thesis
Language:English
Published: Universitat Politècnica de València 2014
Subjects:
Online Access:http://hdl.handle.net/10251/44234
id ndltd-upv.es-oai-riunet.upv.es-10251-44234
record_format oai_dc
collection NDLTD
language English
format Doctoral Thesis
sources NDLTD
topic Trace analysis
Program debugging and comprehension
Rewriting logic
Trace exploration
Maude
Conditional rewrite theories
LENGUAJES Y SISTEMAS INFORMATICOS
spellingShingle Trace analysis
Program debugging and comprehension
Rewriting logic
Trace exploration
Maude
Conditional rewrite theories
LENGUAJES Y SISTEMAS INFORMATICOS
Frechina Navarro, Francisco
A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
description Los sistemas software actuales son artefactos complejos cuyo comportamiento es a menudo extremadamente difícil de entender. Este hecho ha llevado al desarrollo de metodologías formales muy sofisticadas para el análisis, comprensión y depuración de programas. El análisis de trazas de ejecución consiste en la búsqueda dinámica de contenidos específicos dentro de las trazas de ejecución de un cierto programa. La búsqueda puede llevarse a cabo hacia adelante o hacia atrás. Si bien el análisis hacia adelante se traduce en una forma de análisis de impacto que identifica el alcance y las posibles consecuencias de los cambios en la entrada del programa, el análisis hacia atrás permite llevar a cabo un rastreo de la procedencia; es decir, muestra como (partes de) la salida del programa depende de (partes de) su entrada y ayuda a estimar qué dato de la entrada es necesario modificar para llevar a cabo un cambio en el resultado. En esta tesis se investiga una serie de metodologías de análisis de trazas que son especialmente adecuadas para el análisis de trazas de ejecución largas y complejas en la lógica de reescritura, que es un marco lógico y semántico especialmente adecuado para la formalización de sistemas altamente concurrentes. La primera parte de la tesis se centra en desarrollar una técnica de análisis de trazas hacia atrás que alcanza enormes reducciones en el tamaño de la traza. Esta metodología se basa en la fragmentación incremental y favorece un mejor análisis y depuración ya que la mayoría de las inspecciones, tediosas e irrelevantes, que se realizan rutinariamente en el diagnostico y la localización de errores se pueden eliminar de forma automática. Esta técnica se ilustra por medio de varios ejemplos que ejecutamos mediante el sistema iJulienne, una herramienta interactiva de fragmentación que hemos desarrollado y que implementa la técnica de análisis de trazas hacia atrás. En la segunda parte de la tesis se formaliza un sistema paramétrico, flexible y dinámico, para la exploración de computaciones en la lógica de reescritura. El esquema implementa un algoritmo de animación gen érico que permite la ejecución indeterminista de una teoría de reescritura condicional dada y que puede ser objeto de seguimiento mediante el uso de diferentes modalidades, incluyendo una ejecución gradual paso a paso y una fragmentación automática hacia adelante y/o hacia atrás, lo que reduce drásticamente el tamaño y la complejidad de las trazas bajo inspección y permite a los usuarios evaluar de forma aislada los efectos de una declaración o instrucción dada, el seguimiento de los efectos del cambio de la entrada, y obtener información sobre el comportamiento del programa (o mala conducta del mismo). Por otra parte, la fragmentación de la traza de ejecución puede identificar nuevas oportunidades de optimización del programa. Con esta metodología, un analista puede navegar, fragmentar, filtrar o buscar en la traza durante la ejecución del programa. El marco de análisis de trazas gen érico se ha implementado en el sistema Anima y describimos una profunda evaluación experimental de este que demuestra la utilidad del enfoque propuesto. === Frechina Navarro, F. (2014). A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/44234 === TESIS
author2 Alpuente Frasnedo, María
author_facet Alpuente Frasnedo, María
Frechina Navarro, Francisco
author Frechina Navarro, Francisco
author_sort Frechina Navarro, Francisco
title A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
title_short A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
title_full A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
title_fullStr A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
title_full_unstemmed A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems
title_sort rewriting-based, parameterized exploration scheme for the dynamic analysis of complex software systems
publisher Universitat Politècnica de València
publishDate 2014
url http://hdl.handle.net/10251/44234
work_keys_str_mv AT frechinanavarrofrancisco arewritingbasedparameterizedexplorationschemeforthedynamicanalysisofcomplexsoftwaresystems
AT frechinanavarrofrancisco rewritingbasedparameterizedexplorationschemeforthedynamicanalysisofcomplexsoftwaresystems
_version_ 1719367378500845568
spelling ndltd-upv.es-oai-riunet.upv.es-10251-442342020-12-02T20:21:56Z A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems Frechina Navarro, Francisco Alpuente Frasnedo, María Ballis, Demis Universitat Politècnica de València. Departamento de Sistemas Informáticos y Computación - Departament de Sistemes Informàtics i Computació Trace analysis Program debugging and comprehension Rewriting logic Trace exploration Maude Conditional rewrite theories LENGUAJES Y SISTEMAS INFORMATICOS Los sistemas software actuales son artefactos complejos cuyo comportamiento es a menudo extremadamente difícil de entender. Este hecho ha llevado al desarrollo de metodologías formales muy sofisticadas para el análisis, comprensión y depuración de programas. El análisis de trazas de ejecución consiste en la búsqueda dinámica de contenidos específicos dentro de las trazas de ejecución de un cierto programa. La búsqueda puede llevarse a cabo hacia adelante o hacia atrás. Si bien el análisis hacia adelante se traduce en una forma de análisis de impacto que identifica el alcance y las posibles consecuencias de los cambios en la entrada del programa, el análisis hacia atrás permite llevar a cabo un rastreo de la procedencia; es decir, muestra como (partes de) la salida del programa depende de (partes de) su entrada y ayuda a estimar qué dato de la entrada es necesario modificar para llevar a cabo un cambio en el resultado. En esta tesis se investiga una serie de metodologías de análisis de trazas que son especialmente adecuadas para el análisis de trazas de ejecución largas y complejas en la lógica de reescritura, que es un marco lógico y semántico especialmente adecuado para la formalización de sistemas altamente concurrentes. La primera parte de la tesis se centra en desarrollar una técnica de análisis de trazas hacia atrás que alcanza enormes reducciones en el tamaño de la traza. Esta metodología se basa en la fragmentación incremental y favorece un mejor análisis y depuración ya que la mayoría de las inspecciones, tediosas e irrelevantes, que se realizan rutinariamente en el diagnostico y la localización de errores se pueden eliminar de forma automática. Esta técnica se ilustra por medio de varios ejemplos que ejecutamos mediante el sistema iJulienne, una herramienta interactiva de fragmentación que hemos desarrollado y que implementa la técnica de análisis de trazas hacia atrás. En la segunda parte de la tesis se formaliza un sistema paramétrico, flexible y dinámico, para la exploración de computaciones en la lógica de reescritura. El esquema implementa un algoritmo de animación gen érico que permite la ejecución indeterminista de una teoría de reescritura condicional dada y que puede ser objeto de seguimiento mediante el uso de diferentes modalidades, incluyendo una ejecución gradual paso a paso y una fragmentación automática hacia adelante y/o hacia atrás, lo que reduce drásticamente el tamaño y la complejidad de las trazas bajo inspección y permite a los usuarios evaluar de forma aislada los efectos de una declaración o instrucción dada, el seguimiento de los efectos del cambio de la entrada, y obtener información sobre el comportamiento del programa (o mala conducta del mismo). Por otra parte, la fragmentación de la traza de ejecución puede identificar nuevas oportunidades de optimización del programa. Con esta metodología, un analista puede navegar, fragmentar, filtrar o buscar en la traza durante la ejecución del programa. El marco de análisis de trazas gen érico se ha implementado en el sistema Anima y describimos una profunda evaluación experimental de este que demuestra la utilidad del enfoque propuesto. Frechina Navarro, F. (2014). A Rewriting-based, Parameterized Exploration Scheme for the Dynamic Analysis of Complex Software Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/44234 TESIS 2014-11-17 info:eu-repo/semantics/doctoralThesis info:eu-repo/semantics/acceptedVersion http://hdl.handle.net/10251/44234 10.4995/Thesis/10251/44234 eng http://rightsstatements.org/vocab/InC/1.0/ info:eu-repo/semantics/openAccess Universitat Politècnica de València Riunet