Visualização de informação de depuração: uma avaliação experimental
Depuração é a tarefa de localizar e corrigir defeitos em um programa. Apesar do esforço de pesquisa em depuração, especialmente nos últimos anos, ela ainda é realizada da mesma forma desde a década de 60, quando os primeiros depuradores simbólicos foram introduzidos. Localização de defeitos base...
Main Author: | |
---|---|
Other Authors: | |
Language: | Portuguese |
Published: |
Universidade de São Paulo
2017
|
Subjects: | |
Online Access: | http://www.teses.usp.br/teses/disponiveis/100/100131/tde-12012018-132333/ |
id |
ndltd-IBICT-oai-teses.usp.br-tde-12012018-132333 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
Portuguese |
sources |
NDLTD |
topic |
Depuração
Experiência de usuário Localização de defeitos Visualização das informações da depuração Debugging Fault localization User experience Visualization of debugging information |
spellingShingle |
Depuração
Experiência de usuário Localização de defeitos Visualização das informações da depuração Debugging Fault localization User experience Visualization of debugging information Fabio Pereira da Silva Visualização de informação de depuração: uma avaliação experimental |
description |
Depuração é a tarefa de localizar e corrigir defeitos em um programa. Apesar do esforço de pesquisa em depuração, especialmente nos últimos anos, ela ainda é realizada da mesma forma desde a década de 60, quando os primeiros depuradores simbólicos foram introduzidos. Localização de defeitos baseada em cobertura (LDC) é uma técnica de depuração promissora devido ao seu baixo custo de execução. LDC identifica os elementos mais suspeitos de um programa ao classificar linhas, métodos, classes e pacotes com maior valor de suspeição. Recentemente, ferramentas de visualização têm sido propostas para representar os valores de suspeição dos elementos de um programa. Entretanto, nenhuma delas foi introduzida em ambientes industriais e a utilização de depuradores simbólicos ainda é predominante. Nesta dissertação, foi avaliada a eficácia, a eficiência e a usabilidade de duas ferramentas de depuração, chamadas CodeForest e Jaguar, em ambientes reais. Jaguar apresenta os trechos mais suspeitos de um programa em uma lista ordenada por seus valores de suspeição. A CodeForest recebe informações de classes, métodos e blocos (conjunto de instruções executadas em sequência) suspeitos para construir uma floresta de cactus tridimensional representando o programa inspecionado. Na CodeForest, as classes são representadas como cactus, os métodos como galhos e os blocos como espinhos de um galho. Em ambas as ferramentas, os elementos do programa recebem cores que variam de acordo com o seu valor de suspeição. A questão básica respondida ao término deste trabalho é se as informações da depuração quando exibidas em uma metáfora visual melhoram a eficácia, a eficiência e a usabilidade na localização de defeitos. A eficácia e a eficiência foram avaliadas, respectivamente, pela capacidade da ferramenta direcionar o desenvolvedor ao método ou linha do defeito e o tempo necessário para localizá-los. A usabilidade das ferramentas foi avaliada por meio de um questionário baseado no modelo TAM (Technology Acceptance Model). Os resultados obtidos demonstram que a Jaguar foi mais eficaz, eficiente e com maior grau de usabilidade do que a CodeForest; entretanto, o tamanho do efeito estatístico é insignificante para a eficácia e eficiência e baixo para a usabilidade
===
Debugging is the task of locating and fixing defects in a program. Despite the research effort in debugging, especially in recent years, this task is still carried out in the same way since the 60s when the first symbolic debuggers were introduced. Spectrum-Based Fault Localization (SFL) is a promising debugging technique due to it is relative low execution cost. SFL pinpoints the most suspicious program elements by ranking lines, methods, classes and packages with greater suspicious values. Recently, visualization techniques have been proposed to represent the suspicious values of program elements. However, none of them have been introduced at industrial settings and the use of symbolic debuggers is still prevalent. This dissertation assessed the effectiveness, efficiency and usability of two debugging tools, called and CodeForest and Jaguar, in real environments. Jaguar presents the most suspicious elements of a program in a list sorted by suspicious values. CodeForest receives lists of suspicious classes, methods and blocks (set of statements executed in sequence) to build a three-dimensional cacti forest representing the program inspected. In CodeForest, classes are represented as cacti, methods as branches and blocks as thorns of a branch. In both tools, the program elements receive colors that vary according to the suspicious values. The basic question answered at the end of this research is whether debugging information when displayed as a visual metaphor improve the effectiveness, efficiency and usability during fault localization. The effectiveness and efficiency were assessed, respectively, by the tool\'s ability to direct the developer to the faulty method or line and the time spent to locate them. The tools\' usability was evaluated using the Technology Acceptance Model (TAM). The results show that Jaguar is more effective, efficient and presented greater usability than CodeForest; however, the statistical effect size is insignificant for effectiveness and efficiency and low for usability
|
author2 |
Marcos Lordello Chaim |
author_facet |
Marcos Lordello Chaim Fabio Pereira da Silva |
author |
Fabio Pereira da Silva |
author_sort |
Fabio Pereira da Silva |
title |
Visualização de informação de depuração: uma avaliação experimental
|
title_short |
Visualização de informação de depuração: uma avaliação experimental
|
title_full |
Visualização de informação de depuração: uma avaliação experimental
|
title_fullStr |
Visualização de informação de depuração: uma avaliação experimental
|
title_full_unstemmed |
Visualização de informação de depuração: uma avaliação experimental
|
title_sort |
visualização de informação de depuração: uma avaliação experimental |
publisher |
Universidade de São Paulo |
publishDate |
2017 |
url |
http://www.teses.usp.br/teses/disponiveis/100/100131/tde-12012018-132333/ |
work_keys_str_mv |
AT fabiopereiradasilva visualizacaodeinformacaodedepuracaoumaavaliacaoexperimental AT fabiopereiradasilva visualizationofdebugginginformationanempiricalassessment |
_version_ |
1718921707016683520 |
spelling |
ndltd-IBICT-oai-teses.usp.br-tde-12012018-1323332019-01-22T00:28:04Z Visualização de informação de depuração: uma avaliação experimental Visualization of debugging information: an empirical assessment Fabio Pereira da Silva Marcos Lordello Chaim Delano Medeiros Beder Marcelo Fantinato Auri Marcelo Rizzo Vincenzi Depuração Experiência de usuário Localização de defeitos Visualização das informações da depuração Debugging Fault localization User experience Visualization of debugging information Depuração é a tarefa de localizar e corrigir defeitos em um programa. Apesar do esforço de pesquisa em depuração, especialmente nos últimos anos, ela ainda é realizada da mesma forma desde a década de 60, quando os primeiros depuradores simbólicos foram introduzidos. Localização de defeitos baseada em cobertura (LDC) é uma técnica de depuração promissora devido ao seu baixo custo de execução. LDC identifica os elementos mais suspeitos de um programa ao classificar linhas, métodos, classes e pacotes com maior valor de suspeição. Recentemente, ferramentas de visualização têm sido propostas para representar os valores de suspeição dos elementos de um programa. Entretanto, nenhuma delas foi introduzida em ambientes industriais e a utilização de depuradores simbólicos ainda é predominante. Nesta dissertação, foi avaliada a eficácia, a eficiência e a usabilidade de duas ferramentas de depuração, chamadas CodeForest e Jaguar, em ambientes reais. Jaguar apresenta os trechos mais suspeitos de um programa em uma lista ordenada por seus valores de suspeição. A CodeForest recebe informações de classes, métodos e blocos (conjunto de instruções executadas em sequência) suspeitos para construir uma floresta de cactus tridimensional representando o programa inspecionado. Na CodeForest, as classes são representadas como cactus, os métodos como galhos e os blocos como espinhos de um galho. Em ambas as ferramentas, os elementos do programa recebem cores que variam de acordo com o seu valor de suspeição. A questão básica respondida ao término deste trabalho é se as informações da depuração quando exibidas em uma metáfora visual melhoram a eficácia, a eficiência e a usabilidade na localização de defeitos. A eficácia e a eficiência foram avaliadas, respectivamente, pela capacidade da ferramenta direcionar o desenvolvedor ao método ou linha do defeito e o tempo necessário para localizá-los. A usabilidade das ferramentas foi avaliada por meio de um questionário baseado no modelo TAM (Technology Acceptance Model). Os resultados obtidos demonstram que a Jaguar foi mais eficaz, eficiente e com maior grau de usabilidade do que a CodeForest; entretanto, o tamanho do efeito estatístico é insignificante para a eficácia e eficiência e baixo para a usabilidade Debugging is the task of locating and fixing defects in a program. Despite the research effort in debugging, especially in recent years, this task is still carried out in the same way since the 60s when the first symbolic debuggers were introduced. Spectrum-Based Fault Localization (SFL) is a promising debugging technique due to it is relative low execution cost. SFL pinpoints the most suspicious program elements by ranking lines, methods, classes and packages with greater suspicious values. Recently, visualization techniques have been proposed to represent the suspicious values of program elements. However, none of them have been introduced at industrial settings and the use of symbolic debuggers is still prevalent. This dissertation assessed the effectiveness, efficiency and usability of two debugging tools, called and CodeForest and Jaguar, in real environments. Jaguar presents the most suspicious elements of a program in a list sorted by suspicious values. CodeForest receives lists of suspicious classes, methods and blocks (set of statements executed in sequence) to build a three-dimensional cacti forest representing the program inspected. In CodeForest, classes are represented as cacti, methods as branches and blocks as thorns of a branch. In both tools, the program elements receive colors that vary according to the suspicious values. The basic question answered at the end of this research is whether debugging information when displayed as a visual metaphor improve the effectiveness, efficiency and usability during fault localization. The effectiveness and efficiency were assessed, respectively, by the tool\'s ability to direct the developer to the faulty method or line and the time spent to locate them. The tools\' usability was evaluated using the Technology Acceptance Model (TAM). The results show that Jaguar is more effective, efficient and presented greater usability than CodeForest; however, the statistical effect size is insignificant for effectiveness and efficiency and low for usability 2017-12-15 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.teses.usp.br/teses/disponiveis/100/100131/tde-12012018-132333/ por info:eu-repo/semantics/openAccess Universidade de São Paulo Sistemas de Informação USP BR reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo instacron:USP |