Export Ready — 

Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua

Bibliographic Details
Main Author: Silva, Erickson Lima Barbosa da
Publication Date: 2024
Format: Master thesis
Language: por
Source: Biblioteca Digital de Teses e Dissertações da USP
Download full: https://www.teses.usp.br/teses/disponiveis/100/100131/tde-11112024-234200/
Summary: A depuração de programas é uma das atividades que mais consomem tempo dos desenvolvedores porque, em grande parte, é realizada de maneira não planejada. A localização de defeitos baseada em espectro (Spectrum-based Fault localization -- SBFL) compreende em um conjunto de técnicas que usam informações de execução de testes para indicar trechos de código suspeitos com maior probabilidade de conter defeitos. Esta técnica tem sido experimentada em programas semelhantes aos desenvolvidos na indústria com resultados promissores. Ferramentas, ainda no âmbito acadêmico, foram desenvolvidas para apoiar a aplicação automatizada de SBFL. Por sua vez, Integração Contínua (Continuos Integration -- CI) é uma prática amplamente adotada em ambientes industriais nos quais os softwares são construídos, testados e até implantados automaticamente. O objetivo desta pesquisa é avaliar o uso de técnicas SBFL apoiadas por ferramentas durante a prática de integração contínua. Quatro ferramentas de apoio a SBFL, a saber, Flacoco, GZoltar, Jaguar e Jaguar 2, foram selecionadas como candidatas durante a prática de integração contínua. Um arcabouço foi desenvolvido para comparar as características estáticas (e.g., licença, acoplamento com ferramentas de construção, saídas, tipo de espectro) e dinâmicas (e.g., tempo de execução, consumo de memória) dessas ferramentas. Os resultados indicam que apenas GZoltar e Jaguar 2 podem ser diretamente acopladas a ferramentas de construção, sendo Jaguar 2 mais eficaz em termos de tempo de execução com consumo de memória aceitável. Todas as ferramentas fornecem resultados de forma estruturada (arquivos CSV ou XML); entretanto, apenas o GZoltar gera saídas gráficas (arquivos HTML), o que facilita a busca de defeitos pelos desenvolvedores. Para conduzir um experimento com usuários e a técnica SBFL durante a prática de CI, foi desenvolvida a solução Jaguar Portal, que permite a integração da ferramenta Jaguar 2 em um ambiente de CI. Jaguar Portal armazena os dados gerados pela ferramenta Jaguar 2 e apresenta os elementos de códigos (classes, métodos e linhas) mais suspeitos em páginas da web com cores diferentes, variando do mais suspeito (vermelho) ao menos suspeito (verde). Então foi conduzido um experimento com desenvolvedores (profissionais e estudantes), para avaliar uso da técnica SBFL, apoiada pela ferramenta Jaguar Portal, durante a prática de CI com o objetivo de identificar o modelo de uso e avaliar o potencial de uso da tecnologia da ferramenta pelos desenvolvedores durante a prática de CI. Apesar de não ser possível identificar uma sequência de atividades única dentre os participantes que realizaram o experimento, ao agrupar as atividades por objetivos, pode-se observar que há uma sequência de objetivos cumpridos pelos participantes, o que indica um modelo de uso da ferramenta. Os resultados sobre o potencial de uso da ferramenta sugerem uma disposição para utilizá-la em ambiente de CI, durante atividades de depuração, caso esteja disponível. Mesmo aqueles que não encontraram o defeito, avaliaram positivamente a ferramenta, o que reflete uma predisposição para adotar técnicas de apoio à depuração, mesmo após tentativas iniciais mal-sucedidas.
id USP_9c78a143c20542233a31b46699c84d88
oai_identifier_str oai:teses.usp.br:tde-11112024-234200
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Localização de Defeitos Baseado em Espectro e a Prática de Integração ContínuaSpectrum-based Fault Localization and the Practice of Continuous IntegrationContinuous IntegrationDebuggingDepuraçãoEspectroFault localizationIntegração ContínuaLocalização de defeitosSpectraA depuração de programas é uma das atividades que mais consomem tempo dos desenvolvedores porque, em grande parte, é realizada de maneira não planejada. A localização de defeitos baseada em espectro (Spectrum-based Fault localization -- SBFL) compreende em um conjunto de técnicas que usam informações de execução de testes para indicar trechos de código suspeitos com maior probabilidade de conter defeitos. Esta técnica tem sido experimentada em programas semelhantes aos desenvolvidos na indústria com resultados promissores. Ferramentas, ainda no âmbito acadêmico, foram desenvolvidas para apoiar a aplicação automatizada de SBFL. Por sua vez, Integração Contínua (Continuos Integration -- CI) é uma prática amplamente adotada em ambientes industriais nos quais os softwares são construídos, testados e até implantados automaticamente. O objetivo desta pesquisa é avaliar o uso de técnicas SBFL apoiadas por ferramentas durante a prática de integração contínua. Quatro ferramentas de apoio a SBFL, a saber, Flacoco, GZoltar, Jaguar e Jaguar 2, foram selecionadas como candidatas durante a prática de integração contínua. Um arcabouço foi desenvolvido para comparar as características estáticas (e.g., licença, acoplamento com ferramentas de construção, saídas, tipo de espectro) e dinâmicas (e.g., tempo de execução, consumo de memória) dessas ferramentas. Os resultados indicam que apenas GZoltar e Jaguar 2 podem ser diretamente acopladas a ferramentas de construção, sendo Jaguar 2 mais eficaz em termos de tempo de execução com consumo de memória aceitável. Todas as ferramentas fornecem resultados de forma estruturada (arquivos CSV ou XML); entretanto, apenas o GZoltar gera saídas gráficas (arquivos HTML), o que facilita a busca de defeitos pelos desenvolvedores. Para conduzir um experimento com usuários e a técnica SBFL durante a prática de CI, foi desenvolvida a solução Jaguar Portal, que permite a integração da ferramenta Jaguar 2 em um ambiente de CI. Jaguar Portal armazena os dados gerados pela ferramenta Jaguar 2 e apresenta os elementos de códigos (classes, métodos e linhas) mais suspeitos em páginas da web com cores diferentes, variando do mais suspeito (vermelho) ao menos suspeito (verde). Então foi conduzido um experimento com desenvolvedores (profissionais e estudantes), para avaliar uso da técnica SBFL, apoiada pela ferramenta Jaguar Portal, durante a prática de CI com o objetivo de identificar o modelo de uso e avaliar o potencial de uso da tecnologia da ferramenta pelos desenvolvedores durante a prática de CI. Apesar de não ser possível identificar uma sequência de atividades única dentre os participantes que realizaram o experimento, ao agrupar as atividades por objetivos, pode-se observar que há uma sequência de objetivos cumpridos pelos participantes, o que indica um modelo de uso da ferramenta. Os resultados sobre o potencial de uso da ferramenta sugerem uma disposição para utilizá-la em ambiente de CI, durante atividades de depuração, caso esteja disponível. Mesmo aqueles que não encontraram o defeito, avaliaram positivamente a ferramenta, o que reflete uma predisposição para adotar técnicas de apoio à depuração, mesmo após tentativas iniciais mal-sucedidas.Debugging programs is one of the most time-consuming activities for developers because it is largely performed in an unplanned manner. Spectrum-based Fault Localization (SBFL) comprises a set of techniques that use test execution information to indicate code segments suspected to have a higher probability of containing defects. This technique has been experimented with in programs similar to those developed in the industry, yielding promising results. Tools have been developed in the academic realm to support the automated application of SBFL. Continuous Integration (Continuous Integration - CI) is a widely adopted practice in industrial settings where software is built, tested, and even deployed automatically. The objective of this research is to evaluate the use of SBFL techniques supported by tools during the practice of continuous integration. Four SBFL support tools, namely Flacoco, GZoltar, Jaguar, and Jaguar 2, were selected as candidates for use during the practice of continuous integration. A framework was developed to compare the static (e.g., license, coupling with build tools, outputs, type of spectrum) and dynamic (e.g., execution time, memory consumption) characteristics of these tools. The results indicate that only GZoltar and Jaguar 2 can be directly coupled with build tools, with Jaguar 2 being more effective in terms of execution time with acceptable memory consumption. All tools provide results in a structured manner (CSV or XML files); however, only GZoltar generates graphical outputs (HTML files), which facilitates the defect localization process for developers. To conduct an experiment with users and the SBFL technique during the CI practice, the Jaguar Portal solution was developed, allowing the integration of the Jaguar 2 tool in a CI environment. Jaguar Portal stores the data generated by the Jaguar 2 tool and presents the most suspicious code elements (classes, methods, and lines) on web pages with different colors, ranging from most suspicious (red) to least suspicious (green). An experiment was conducted with developers (professionals and students) to evaluate the use of the SBFL technique, supported by the Jaguar Portal tool, during the CI practice to identify the usage model and assess the potential of the tool\'s technology for developers during the CI practice. Although it was not possible to identify a unique sequence of activities among the participants who conducted the experiment, when grouping the activities by objectives, it can be observed that there is a sequence of objectives fulfilled by the participants, indicating a model of tool usage. The results regarding the tool\'s potential usage suggest a willingness to use it in a CI environment during debugging activities, should it be available. Even those who did not find the defect evaluated the tool positively, reflecting a predisposition to adopt debugging support techniques, even after initial unsuccessful attempts.Biblioteca Digitais de Teses e Dissertações da USPChaim, Marcos LordelloSilva, Erickson Lima Barbosa da2024-09-19info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/100/100131/tde-11112024-234200/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2025-10-13T14:10:02Zoai:teses.usp.br:tde-11112024-234200Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212025-10-13T14:10:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
Spectrum-based Fault Localization and the Practice of Continuous Integration
title Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
spellingShingle Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
Silva, Erickson Lima Barbosa da
Continuous Integration
Debugging
Depuração
Espectro
Fault localization
Integração Contínua
Localização de defeitos
Spectra
title_short Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
title_full Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
title_fullStr Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
title_full_unstemmed Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
title_sort Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
author Silva, Erickson Lima Barbosa da
author_facet Silva, Erickson Lima Barbosa da
author_role author
dc.contributor.none.fl_str_mv Chaim, Marcos Lordello
dc.contributor.author.fl_str_mv Silva, Erickson Lima Barbosa da
dc.subject.por.fl_str_mv Continuous Integration
Debugging
Depuração
Espectro
Fault localization
Integração Contínua
Localização de defeitos
Spectra
topic Continuous Integration
Debugging
Depuração
Espectro
Fault localization
Integração Contínua
Localização de defeitos
Spectra
description A depuração de programas é uma das atividades que mais consomem tempo dos desenvolvedores porque, em grande parte, é realizada de maneira não planejada. A localização de defeitos baseada em espectro (Spectrum-based Fault localization -- SBFL) compreende em um conjunto de técnicas que usam informações de execução de testes para indicar trechos de código suspeitos com maior probabilidade de conter defeitos. Esta técnica tem sido experimentada em programas semelhantes aos desenvolvidos na indústria com resultados promissores. Ferramentas, ainda no âmbito acadêmico, foram desenvolvidas para apoiar a aplicação automatizada de SBFL. Por sua vez, Integração Contínua (Continuos Integration -- CI) é uma prática amplamente adotada em ambientes industriais nos quais os softwares são construídos, testados e até implantados automaticamente. O objetivo desta pesquisa é avaliar o uso de técnicas SBFL apoiadas por ferramentas durante a prática de integração contínua. Quatro ferramentas de apoio a SBFL, a saber, Flacoco, GZoltar, Jaguar e Jaguar 2, foram selecionadas como candidatas durante a prática de integração contínua. Um arcabouço foi desenvolvido para comparar as características estáticas (e.g., licença, acoplamento com ferramentas de construção, saídas, tipo de espectro) e dinâmicas (e.g., tempo de execução, consumo de memória) dessas ferramentas. Os resultados indicam que apenas GZoltar e Jaguar 2 podem ser diretamente acopladas a ferramentas de construção, sendo Jaguar 2 mais eficaz em termos de tempo de execução com consumo de memória aceitável. Todas as ferramentas fornecem resultados de forma estruturada (arquivos CSV ou XML); entretanto, apenas o GZoltar gera saídas gráficas (arquivos HTML), o que facilita a busca de defeitos pelos desenvolvedores. Para conduzir um experimento com usuários e a técnica SBFL durante a prática de CI, foi desenvolvida a solução Jaguar Portal, que permite a integração da ferramenta Jaguar 2 em um ambiente de CI. Jaguar Portal armazena os dados gerados pela ferramenta Jaguar 2 e apresenta os elementos de códigos (classes, métodos e linhas) mais suspeitos em páginas da web com cores diferentes, variando do mais suspeito (vermelho) ao menos suspeito (verde). Então foi conduzido um experimento com desenvolvedores (profissionais e estudantes), para avaliar uso da técnica SBFL, apoiada pela ferramenta Jaguar Portal, durante a prática de CI com o objetivo de identificar o modelo de uso e avaliar o potencial de uso da tecnologia da ferramenta pelos desenvolvedores durante a prática de CI. Apesar de não ser possível identificar uma sequência de atividades única dentre os participantes que realizaram o experimento, ao agrupar as atividades por objetivos, pode-se observar que há uma sequência de objetivos cumpridos pelos participantes, o que indica um modelo de uso da ferramenta. Os resultados sobre o potencial de uso da ferramenta sugerem uma disposição para utilizá-la em ambiente de CI, durante atividades de depuração, caso esteja disponível. Mesmo aqueles que não encontraram o defeito, avaliaram positivamente a ferramenta, o que reflete uma predisposição para adotar técnicas de apoio à depuração, mesmo após tentativas iniciais mal-sucedidas.
publishDate 2024
dc.date.none.fl_str_mv 2024-09-19
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/100/100131/tde-11112024-234200/
url https://www.teses.usp.br/teses/disponiveis/100/100131/tde-11112024-234200/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1848365129700212736