Registro:
| Documento: | Tesis de Grado |
| Título: | MimicryMonitors : verificación de programas con fragmentos comunes |
| Autor: | García, Felicitas |
| Editor: | Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales |
| Fecha de defensa: | 2025-08-01 |
| Fecha en portada: | 2025 |
| Grado Obtenido: | Grado |
| Título Obtenido: | Licenciado en Ciencias de la Computación |
| Departamento Docente: | Departamento de Computación |
| Director: | Godoy, Javier Ignacio |
| Director Asistente: | Garbervetsky, Diego David |
| Jurado: | Bonomo, Flavia; Galeotti, Juan Pablo |
| Idioma: | Español |
| Palabras clave: | VERIFICACION; FRAGMENTOS COMUNES; TESTING DE REGRESION; MONITOREO EN TIEMPO DE EJECUCION; AUTOMATAS; LLVMVERIFICATION; COMMON FRAGMENTS; REGRESSION TESTING; RUNTIME MONITOR; AUTOMATA; LLVM |
| Formato: | PDF |
| Handle: |
https://hdl.handle.net/20.500.12110/seminario_nCOM000847_Garcia |
| PDF: | https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000847_Garcia.pdf |
| Registro: | https://bibliotecadigital.exactas.uba.ar/collection/seminario/document/seminario_nCOM000847_Garcia |
| Ubicación: | COM 000847 |
| Derechos de Acceso: | Esta obra puede ser leída, grabada y utilizada con fines de estudio, investigación y docencia. Es necesario el reconocimiento de autoría mediante la cita correspondiente. García, Felicitas. (2025). MimicryMonitors : verificación de programas con fragmentos comunes. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/seminario_nCOM000847_Garcia |
Resumen:
En el desarrollo de software moderno, es común que los sistemas evolucionen mediante pequeños cambios incrementales. Esta característica se puede explotar en diversos escenarios, especialmente en el testing de regresión, donde surge una pregunta fundamental: cuando se modifica una parte de un programa previamente verificado, ¿es necesario reevaluar todo el sistema o se puede aprovechar el trabajo de verificación ya realizado? En particular, ¿se puede utilizar la noción de que dos versiones comparten gran parte de su código para reducir el esfuerzo de testeo? En este contexto, esta tesis explora e implementa los Mimicry Monitors (MM), una técnica que justamente capitaliza los fragmentos comunes entre dos versiones de un programa. La técnica permite verificar en tiempo de ejecución si el comportamiento de un programa bajo análisis (PUA) puede ser imitado por un programa de referencia u oráculo (OP), sin necesidad de ejecutar este último. Para validar la técnica, se realizó una evaluación experimental sobre cinco herramientas de GNU Core Utilities, seleccionando dos versiones de cada una y utilizando sus conjuntos de pruebas existentes para simular escenarios reales de testing de regresión. Se define la efectividad de los Mimicry Monitors como su capacidad de emitir veredictos anticipados sobre la existencia de una contraparte del OP para la ejecución actual del PUA. Los resultados revelan entonces que la efectividad de los MMs está intrínsecamente ligada a la naturaleza de las modificaciones entre versiones. Para programas con modificaciones localizadas como cat, se obtuvo hasta un 60.87 % de casos verificados, permitiendo terminación temprana. En contraste, programas con modificaciones estructurales fundamentales como ls no mostraron resultados igualmente favorables. Los resultados demuestran que los Mimicry Monitors constituyen una herramienta valiosa para la optimización de testing de regresión, validando parcialmente la hipótesis de que es posible evitar ejecuciones redundantes mediante el análisis de fragmentos comunes.
Abstract:
In modern software development, it is common for systems to evolve through small incremental changes. This characteristic can be exploited in various scenarios, particularly in regression testing, where a fundamental question arises: when a part of a previously verified program is modified, is it necessary to re-evaluate the entire system, or can the verification effort already invested be reused? Specifically, can the fact that two versions share a large portion of their code be leveraged to reduce the testing effort? In this context, this thesis explores and implements Mimicry Monitors (MM), a technique that precisely capitalizes on the common fragments between two versions of a program. The technique allows runtime verification, to determine whether the behavior of a program under analysis (PUA) can be mimicked by a reference or oracle program (OP), without the need to execute the latter. To validate the technique, an experimental evaluation was conducted on five GNU Core Utilities tools, selecting two versions of each and using their existing test suites to simulate real-world regression testing scenarios. The effectiveness of Mimicry Monitors is defined as their ability to issue early verdicts about the existence of a counterpart in the OP for the current execution of the PUA. The results show that the effectiveness of MMs is intrinsically tied to the nature of the changes between versions. For programs with localized modifications such as cat, up to 60.87 % of cases were successfully verified, enabling early termination. In contrast, programs with more fundamental structural changes like ls did not yield equally favorable results. These results demonstrate that Mimicry Monitors are a valuable tool for optimizing regression testing, partially validating the hypothesis that redundant executions can be avoided by analyzing shared code fragments.
Citación:
---------- APA ----------
García, Felicitas. (2025). MimicryMonitors : verificación de programas con fragmentos comunes. (Tesis de Grado. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales.). Recuperado de https://hdl.handle.net/20.500.12110/seminario_nCOM000847_Garcia
---------- CHICAGO ----------
García, Felicitas. "MimicryMonitors : verificación de programas con fragmentos comunes". Tesis de Grado, Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales, 2025.https://hdl.handle.net/20.500.12110/seminario_nCOM000847_Garcia
Estadísticas:
Descargas mensuales
Total de descargas desde :
https://bibliotecadigital.exactas.uba.ar/download/seminario/seminario_nCOM000847_Garcia.pdf
Distrubución geográfica