Please use this identifier to cite or link to this item:
http://hdl.handle.net/1843/40072
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.advisor1 | Fernando Magno Quintão Pereira | pt_BR |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/4608001746330875 | pt_BR |
dc.contributor.referee1 | Chunhua Liao | pt_BR |
dc.contributor.referee2 | Rafael Dueire Lins | pt_BR |
dc.creator | José Wesley de Souza Magalhães | pt_BR |
dc.creator.Lattes | http://lattes.cnpq.br/5322689552829310 | pt_BR |
dc.date.accessioned | 2022-03-15T01:33:04Z | - |
dc.date.available | 2022-03-15T01:33:04Z | - |
dc.date.issued | 2021-10-15 | - |
dc.identifier.uri | http://hdl.handle.net/1843/40072 | - |
dc.description.abstract | O estado interno de um programa é formado pelos valores que tal programa manipula. Estes valores são armazenados na pilha de chamadas de funções, na heap, ou em memória estática. A habilidade de inspecionar o estado interno de um programa é útil para propósitos de depuração e verificação. Entretanto, não existe técnica geral para inserir pontos de inspeção em linguagens com um sistema de tipos não seguros, como C ou C++. A dificuldade vem da necessidade de percorrer o grafo de memória em um assim chamado ambiente não cooperativo. Nesta dissertação, uma técnica automática para lidar com esse problema é proposta. Nós introduzimos uma transformação estática de programa para reportar o seu estado interno. Nossa técnica foi implementada utilizando Low Level Virtual Machine (LLVM). É possível ajustar a granularidade dos pontos de inspeção, trocando precisão por desempenho. Nesta dissertação, nós demonstramos como utilizar pontos de inspeção para depurar otimizações de compiladores; para inserir código de verificação em benchmarks; e para visualizar estruturas de dados. | pt_BR |
dc.description.resumo | The program state is formed by the values that the program manipulates. These values are stored in the stack, in the heap, or in static memory. The ability to inspect the program state is useful as a debugging or as a verification aid. Yet, there exists no general technique to insert inspection points in type-unsafe languages such as C or C++. The difficulty comes from the need to traverse the memory graph in a so-called uncooperative environment. In this dissertation, we propose an automatic technique to deal with this problem. We introduce a static code transformation approach that inserts in a program the instrumentation necessary to report its internal state. Our technique has been implemented in Low Level Virtual Machine (LLVM). It is possible to adjust the granularity of inspection points trading precision for performance. In this paper, we demonstrate how to use inspection points to debug compiler optimizations; to augment benchmarks with verification code; and to visualize data structures. | pt_BR |
dc.description.sponsorship | CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior | pt_BR |
dc.language | eng | pt_BR |
dc.publisher | Universidade Federal de Minas Gerais | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.department | ICEX - INSTITUTO DE CIÊNCIAS EXATAS | pt_BR |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação | pt_BR |
dc.publisher.initials | UFMG | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.rights.uri | http://creativecommons.org/licenses/by-nd/3.0/pt/ | * |
dc.subject | Inspection point | pt_BR |
dc.subject | Verification | pt_BR |
dc.subject | Program state | pt_BR |
dc.subject.other | Computação – Teses | pt_BR |
dc.subject.other | Programas de computador – Inspeção – Teses | pt_BR |
dc.subject.other | Compiladores (Programas de computador) – Teses | pt_BR |
dc.title | Automatic inspection of program state in an uncooperative environment | pt_BR |
dc.title.alternative | Inspeção automática do estado interno de programas em um ambiente não cooperativo | pt_BR |
dc.type | Dissertação | pt_BR |
Appears in Collections: | Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
wesley_dissertation.pdf | 2.97 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License