Detalhes bibliográficos
Ano de defesa: |
2017 |
Autor(a) principal: |
Pinto, Renê de Souza |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Biblioteca Digitais de Teses e Dissertações da USP
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06022018-150306/
|
Resumo: |
Este trabalho apresenta uma metodologia para caracterização do perfil de consumo de recursos demandados por um programa de computador a partir da análise do código binário do arquivo executável. A categorização de processos de acordo com seus perfis de consumo de recursos durante a execuçãotais como uso de CPU e memóriaé uma informação muito desejada para objetivos de projeto e gerenciamento de sistemas. Técnicas convencionais para este propósito são baseadas em testes de caixa branca (que avaliam o código fonte da aplicação), que tendem a ser de difícil aplicação dado a complexidade das arquiteturas de software além da necessidade de acesso ao código fonte; ou detecção de perfis baseada em dados de execução, que depende da disponibilidade de dados de execução confiáveis e da seleção de características que de fato vão correlacionar o perfil de consumo. A abordagem baseada em mineração de dados proposta neste trabalho evita estas dificuldades uma vez que manipula somente os arquivos binários executáveis. O método combina técnicas provindas da teoria da informação, redes complexas e filogenia para produzir um agrupamento hierárquico de um conjunto de arquivos de programas executáveis que pode ser utilizado para prever potenciais similaridades em termos de consumo de recursos em tempo de execução. As questões de pesquisa deste trabalho investigam se a transformação feita pelo compilador preserva similaridades entre código fonte e binário que podem ser detectadas através de algoritmos de compressão; em caso positivo, verificar se as similaridades encontradas no código binário estão relacionadas com o perfil de execução das aplicações, permitindo inferir o comportamento dos programas a partir da análise do código binário. Este trabalho apresenta a sistematização do método assim como os resultados da aplicação para caracterizar aplicações em termos de consumo de CPU e Entrada/Saída em uma plataforma PC padrão. Diversos experimentos foram executados em um repositório de 80 programas de várias fontes obtendo-se resultados significativos que evidenciam que a similaridade dos perfis de execução obtidas com esta abordagem é consistente com as obtidas experimentalmente por aferição. A aplicação do método também é exemplificado através de casos de estudo que caracterizam o perfil de execução de programas executáveis. |