000007141 001__ 7141
000007141 005__ 20150325135934.0
000007141 037__ $$aTAZ-PFC-2012-187
000007141 041__ $$aspa
000007141 1001_ $$aArtal Lozano, Juan Antonio
000007141 24500 $$aEstudio comparativo de frameworks de instrumentación dinámica de ejecutables
000007141 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2012
000007141 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000007141 520__ $$aLa Instrumentación Dinámica de Ejecutables (Dynamic Binary Instrumentation, DBI) es una técnica muy potente que permite analizar el comportamiento, en tiempo de ejecución, de cualquier aplicación. DBI se puede usar, por ejemplo, para contar el número de instrucciones que ejecuta o contar todas las transferencias (lectura y/o escritura) a memoria que realiza un determinado programa. Un framework de DBI es una plataforma software que incluye programas, librerías, documentación y una API para manipulación de instrucciones en tiempo de ejecución. Existen diferentes frameworks de DBI (p.e., Pin, Valgrind, DynamoRIO, Paradyn/Dyninst), que proporcionan APIs muy extensas para que cada ingeniero pueda desarrollar sus propias herramientas de análisis dinámico, llamadas herramientas DBA (Dynamic Binary Analysis). Las herramientas DBA permiten analizar, generar optimizaciones y monitorizar el comportamiento de programas. El objetivo de este PFC es realizar un estudio comparativo centrado a nivel de impacto en rendimiento (performance) de diferentes frameworks de DBI. Es decir, se comprobará el rendimiento de una aplicación ejecutada de forma nativa, sin instrumentar, y se comparará con esta misma aplicación instrumentada por herramientas programadas bajo diferentes frameworks de DBI. De esta forma se obtiene el impacto en rendimiento de cada uno de los frameworks. Para poder llevar a cabo este estudio, se han seleccionado un conjunto de aplicaciones para crear un benchmark, que nos dará información de rendimiento de cada framework de DBI. Además, se pretende comparar cada framework de DBI atendiendo a las siguientes características: plataformas y tipos de ejecutables que aceptan, necesidad de disponer del código fuente, API proporcionada, facilidad de programación de herramientas DBA, licencia/coste y la posibilidad de vincular a un proceso en ejecución.
000007141 521__ $$aIngeniero en Informática
000007141 540__ $$aDerechos regulados por licencia Creative Commons
000007141 6531_ $$ainstrumentación dinámica
000007141 6531_ $$adbi
000007141 6531_ $$abenchmark
000007141 6531_ $$arendimiento
000007141 6531_ $$apin
000007141 6531_ $$avalgrind
000007141 6531_ $$adynamorio
000007141 700__ $$aRodríguez Fernández, Ricardo J.$$edir.
000007141 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cLenguajes y Sistemas Informáticos
000007141 7202_ $$aMerseguer Hernáiz, José Javier$$eponente
000007141 8560_ $$f424787@celes.unizar.es
000007141 8564_ $$s423909$$uhttps://zaguan.unizar.es/record/7141/files/TAZ-PFC-2012-187.pdf$$yMemoria (spa)
000007141 909CO $$ooai:zaguan.unizar.es:7141$$pdriver$$pproyectos-fin-carrera
000007141 950__ $$a
000007141 980__ $$aTAZ$$bPFC$$cEINA