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...
Main Author: | |
---|---|
Other Authors: | |
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 |