Los puntos clave no están disponibles para este artículo en este momento.
Las herramientas de instrumentación de software robustas y potentes son esenciales para tareas de análisis de programas como la creación de perfiles, la evaluación del rendimiento y la detección de errores. Para satisfacer esta necesidad, hemos desarrollado un nuevo sistema de instrumentación llamado Pin. Nuestros objetivos son proporcionar una instrumentación fácil de usar, portátil, transparente y eficiente. Las herramientas de instrumentación (llamadas Pintools) se escriben en C/C++ utilizando la rica API de Pin. Pin sigue el modelo de ATOM, permitiendo al autor de la herramienta analizar una aplicación a nivel de instrucción sin necesidad de un conocimiento detallado del conjunto de instrucciones subyacente. La API está diseñada para ser independiente de la arquitectura siempre que sea posible, lo que hace que los Pintools sean compatibles con diferentes arquitecturas. Sin embargo, un Pintool puede acceder a detalles específicos de la arquitectura cuando es necesario. La instrumentación con Pin es mayormente transparente, ya que la aplicación y el Pintool observan el comportamiento original y no instrumentado de la aplicación. Pin utiliza compilación dinámica para instrumentar ejecutables mientras se están ejecutando. Para mayor eficiencia, Pin utiliza varias técnicas, incluyendo la inserción en línea, la reasignación de registros, el análisis de vivacidad y la programación de instrucciones para optimizar la instrumentación. Este enfoque totalmente automatizado ofrece un rendimiento de instrumentación significativamente mejor que herramientas similares. Por ejemplo, Pin es 3.3 veces más rápido que Valgrind y 2 veces más rápido que DynamoRIO para el recuento de bloques básicos. Para ilustrar la versatilidad de Pin, describimos dos Pintools en uso diario para analizar software de producción. Pin está disponible públicamente para plataformas Linux en cuatro arquitecturas: IA32 (x86 de 32 bits), EM64T (x86 de 64 bits), Itanium® y ARM. En los diez meses desde que se lanzó Pin 2 en julio de 2004, ha habido más de 3000 descargas desde su sitio web.
Luk et al. (Sun,) estudiaron esta cuestión.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: