An Interpretation-like Techinique for Monitoring x86 Code on an x86 Host Machine
Autores
3958 |
Fabiano Ramos
|
609,163,141
|
3959 |
609,163,141
|
|
3960 |
609,163,141
|
Informações:
Publicações do PESC
Título
An Interpretation-like Techinique for Monitoring x86 Code on an x86 Host Machine
Linha de pesquisa
Arquitetura e Sistemas Operacionais
Tipo de publicação
Relatório Técnico
Número de registro
ES-702/6
Data
1/2006
Resumo
Abstract
Cache memories, out-of-order and speculative execution are remarkable features incorporated to modem high performance microprocessors. How-ever, these features prevent us from accompanying the activities that are occurring inside the processor at each instant (i.e., it is very hard to guarantee what is going on within the processor).
In this paper we describe our efforts to regain the control which was lost in between the start and the end of application programs. We have developed an interpretation-like technique that reproduces the execution environment of binary code on x86 machines. This technique looks like an interpretation process because it accompanies the execution of application programs - in an interpretative fashion - investigating either general or specific peculiarities of the binary code being monitored, and it leaves to the underlying hardware the actual execution of the binary code.
Our technique is reliable and can be used for several purposes, as for instance, to detect program bugs and self-modifying code. Besides describing the interpretation technique, the paper presents some algorithms to help programmers to validate, assess, and debug their binary code. A study evaluating the efficiency of the technique during the characterization of integer programs of the SPEC2000 suite is presented.
In this paper we describe our efforts to regain the control which was lost in between the start and the end of application programs. We have developed an interpretation-like technique that reproduces the execution environment of binary code on x86 machines. This technique looks like an interpretation process because it accompanies the execution of application programs - in an interpretative fashion - investigating either general or specific peculiarities of the binary code being monitored, and it leaves to the underlying hardware the actual execution of the binary code.
Our technique is reliable and can be used for several purposes, as for instance, to detect program bugs and self-modifying code. Besides describing the interpretation technique, the paper presents some algorithms to help programmers to validate, assess, and debug their binary code. A study evaluating the efficiency of the technique during the characterization of integer programs of the SPEC2000 suite is presented.
Arquivo