SlideShare uma empresa Scribd logo
1 de 23
Aluno: Gabriel Alabarse Rocha Mendes
Orientador: Prof. Doutor Fernando Ryioji Kakugawa
Co-orientador: Pesquisador Isnaldo Francisco de Melo Junior
São Paulo, junho de 2017
Trabalho de Conclusão do Curso de Ciência da
Computação
TRACEANALYZER
DESENVOLVIMENTO DE UMA FERRAMENTA PARA ANÁLISE DE
TRACING
DESENVOLVIMENTO DE UMA FERRAMENTA PARA ANÁLISE DE
TRACINGAluno: Gabriel Alabarse Rocha Mendes
Orientador: Prof. Doutor Fernando Ryioji Kakugawa
Co-orientador: Pesquisador Isnaldo Francisco de Melo Junior
Sumário
Problema
Introdução
Tracing
traceAnalyzer
Testes
Discussão
Conclusão
Extensão
Analisar um programa em C/C++ e suas chamadas de
função sem alterar sua performance
Problema
Introdução
Profiling: processo de gravar a execução de um programa
para analisar as suas chamadas.
Debugging: processo de encontrar e resolver defeitos que
impedem o funcionamento correto do software de
computador ou um sistema.
Tracing
Tracing: Técnica de baixo overhead do sistema, permitindo
a gravação do eventos de alto e baixo nível.
▶ Espaço do usuário x Espaço kernel
▶ Estático x Dinâmico
Tracing
Processos de análise do tracing
Tracing
Saída do tracer LTTng, com o Babeltrace
traceAnalyzer
Módulos do traceAnalyzer
traceAnalyzer
Tela inicial do traceAnalyzer
traceAnalyzer
Bash Scripts:
▶ Instrumenta o programa
▶ Roda o tracer LTTng
traceAnalyzer
Python Reader:
▶ Algoritmo de construção de uma estrutura de dados de árvore
traceAnalyzer
Python Analysis:
▶ Gera árvore de chamadas e tabela com dados das informações
traceAnalyzer - Teste 1
Programa 1 - Chamadas Recursivas
traceAnalyzer - Teste 1
Trecho do tracing do programa 1 - Chamadas Recursivas
traceAnalyzer - Teste 1
Resultados do programa 1 - Chamadas Recursivas
traceAnalyzer - Teste 2
Programa 2 - Método de uma classe
traceAnalyzer - Teste 2
Resultados do programa 2 - Método de uma classe
Discussão
Leitura linear do tracing
Contadores de performance por amostragem: Perf
Construção da árvore: Árvore de chamada
Uso da ferramenta nm
Conclusão
traceAnalyzer se mostrou eficaz na análise do tracing pelas
seguintes razões:
▶ Facilitou o processo de análise de uma quantidade considerável
de informação gerada pelo tracing
▶ Elucidou parte do comportamento dinâmico do programa da
aplicação
Extensão
traceAnalyzer pode ser estendido na utilização de outros tracers e
outras árvores.
Criação de mecanismos automáticos de comparação e correlação
de árvores complexas.
Mais eventos podem ser incluídos como informação de análise do
programa.
Referências
BABELTRACE. Babeltrace. Diamon. 2016. Disponível em <http://diamon.org/babeltrace/>. Acessado
em: 10 abr. 2016.
DESNOYERS, M.. Low-impact operating system tracing. 2009. Dissertação (Ph.D. em Engenharia
da computação) – École Polytechnique de Montréal, Montréal.
LTTNG. LTTng is an open source tracing framework for Linux. LTTng. 2014. Disponível em <
http://lttng.org/docs/>. Acessado em: 1 mar. 2016.
NM. nm(1) - Linux man page. nm(1): symbols from object files - Linux man page. 2009. Disponível em
<https://linux.die.net/man/1/nm>. Acessado em: 10 fev. 2017.
Contato
Gabriel Alabarse Rocha Mendes
Email: gabrielmariachi@gmail.com

Mais conteúdo relacionado

Semelhante a Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi

TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...tdc-globalcode
 
Analise Desempenho 4 Sale
Analise Desempenho 4 SaleAnalise Desempenho 4 Sale
Analise Desempenho 4 Saleleandrosantiago
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2jaoozinhoqi123
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWMatheus Costa
 
Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Anderson Favaro
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
So2 aula00-cic4 ma446-quarta
So2 aula00-cic4 ma446-quartaSo2 aula00-cic4 ma446-quarta
So2 aula00-cic4 ma446-quartaAnderson Favaro
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Softwarealexandre_malaquias
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gilmar Pupo
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleAdriano Teixeira de Souza
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWInstituto Federal de Sergipe
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Firescrum - UFRA 2013
Firescrum - UFRA 2013Firescrum - UFRA 2013
Firescrum - UFRA 2013Renan Soranso
 

Semelhante a Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi (20)

TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
TDC2017 | Florianópolis - Trilha Java Melhorando a performance do seu Código ...
 
Analise Desempenho 4 Sale
Analise Desempenho 4 SaleAnalise Desempenho 4 Sale
Analise Desempenho 4 Sale
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2
 
Visualg
VisualgVisualg
Visualg
 
Plano de Projeto
Plano de ProjetoPlano de Projeto
Plano de Projeto
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00Sistemas Operacionais 2 -aula00
Sistemas Operacionais 2 -aula00
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Plano do Projeto
Plano do ProjetoPlano do Projeto
Plano do Projeto
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
So2 aula00-cic4 ma446-quarta
So2 aula00-cic4 ma446-quartaSo2 aula00-cic4 ma446-quarta
So2 aula00-cic4 ma446-quarta
 
Métodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de SoftwareMétodos Ágeis para Desenvolvimento de Software
Métodos Ágeis para Desenvolvimento de Software
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
 
Paradigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de ControleParadigmas de Linguagens de Programação - Estruturas de Controle
Paradigmas de Linguagens de Programação - Estruturas de Controle
 
Plano de projeto - Gerência de Projetos
Plano de projeto - Gerência de ProjetosPlano de projeto - Gerência de Projetos
Plano de projeto - Gerência de Projetos
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Firescrum - UFRA 2013
Firescrum - UFRA 2013Firescrum - UFRA 2013
Firescrum - UFRA 2013
 

Mais de Francisco de Melo Jr

Mais de Francisco de Melo Jr (12)

Presentation infonuagique/ cloud computing presentation
Presentation infonuagique/ cloud computing presentationPresentation infonuagique/ cloud computing presentation
Presentation infonuagique/ cloud computing presentation
 
Nutri App
Nutri AppNutri App
Nutri App
 
NeuroGames - TCC Mackenzie Univ
NeuroGames - TCC Mackenzie UnivNeuroGames - TCC Mackenzie Univ
NeuroGames - TCC Mackenzie Univ
 
Metaheuristics for software testing
Metaheuristics for software testingMetaheuristics for software testing
Metaheuristics for software testing
 
Automata research developed at Saint Mary's 2014
Automata research developed at Saint Mary's 2014Automata research developed at Saint Mary's 2014
Automata research developed at Saint Mary's 2014
 
Performance Analysis Using Automated Grouping Mechanisms - Conference Portuga...
Performance Analysis Using Automated Grouping Mechanisms - Conference Portuga...Performance Analysis Using Automated Grouping Mechanisms - Conference Portuga...
Performance Analysis Using Automated Grouping Mechanisms - Conference Portuga...
 
Comparative Framework for Education
Comparative Framework for EducationComparative Framework for Education
Comparative Framework for Education
 
H2HC Tracing Profiling Debugging
H2HC Tracing Profiling DebuggingH2HC Tracing Profiling Debugging
H2HC Tracing Profiling Debugging
 
Dreams
DreamsDreams
Dreams
 
Run time
Run timeRun time
Run time
 
Apresentação TDC Floripa 2014
Apresentação TDC Floripa 2014Apresentação TDC Floripa 2014
Apresentação TDC Floripa 2014
 
Projeto mpx
Projeto mpxProjeto mpx
Projeto mpx
 

Honour Thesis Gabriel Alabarse - TCC Anhembi Morumbi