Localização de Defeitos Baseado em Espectro e a Prática de Integração Contínua
| Main Author: | |
|---|---|
| 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 |