Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: LIMA, Melquisedec Albert Einstein de Andrade.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
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:
BUG
Link de acesso: https://dspace.sti.ufcg.edu.br/handle/riufcg/12623
Resumo: Dentre os modelos abordados pela linguagem UML, existe o modelo de máquina de estados, que permite modelar o comportamento de um objeto de software isolado, mostrando de forma explícita como o objeto responde a estímulos externos a ele. Quando se utiliza o modelo de máquina de estados em um projeto de software, o código-fonte é seu reflexo, de tal forma que um erro do software pode estar diretamente relacionado com a sua máquina de estados. Identificar a causa de uma falha relacionada ao modelo de máquina de estados nem sempre é uma tarefa trivial, podendo muitas vezes passar pelo processo de avaliação de falha, identificar elementos do software que são impactados pelo erro, determinar a sua causa e corrigir o software. Identificar as causas de uma falha é o processo que mais consome tempo no ciclo de vida do software. Existem trabalhos que abordam técnicas de como localizar bugs reportados no código-fonte mas não encontramos nenhum trabalho que relacione ou classifique bugs de acordo com máquina de estados. A tarefa de identificar a qual elemento da máquina de estados um bug reportado está relacionado é muito laboriosa. Diante desse problema, o objetivo desta pesquisa foi desenvolver uma técnica de classificação automática de bugs relacionados a máquina de estados. A técnica proposta é composta por uma taxonomia de bugs sob a perspectiva de máquina de estados e um algoritmo para classificação automática de bugs. Para avaliar a técnica proposta, realizamos um survey para avaliar a taxonomia e um experimento quantitativo em projetos de software reais para avaliar o algoritmo classificador. Como resultado verificamos que: (i) a taxonomia atende a demanda, com número de categorias e clareza adequadas para o seu objetivo; (ii) o algoritmo para classificação automática obteve um desempenho de 80% de precision e 80% de recall utilizando o algoritmo de aprendizagem de máquina KNN.
id UFCG_b1da876ab1e3463ad0f3fdcbcb90d931
oai_identifier_str oai:dspace.sti.ufcg.edu.br:riufcg/12623
network_acronym_str UFCG
network_name_str Biblioteca Digital de Teses e Dissertações da UFCG
repository_id_str
spelling Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.An approach to classify bugs from a state machine perspective.Linguagem de ProgramaçãoProgramming LanguageLenguaje de ProgramaciónMáquina de EstadosState MachineBUGClassificaçãoClassificationClasificaciónAprendizagem de MáquinaAprendizaje AutomáticoMachine LearningCiência da ComputaçãoLinguagens de ProgramaçãoMetodologia e Técnicas da ComputaçãoDentre os modelos abordados pela linguagem UML, existe o modelo de máquina de estados, que permite modelar o comportamento de um objeto de software isolado, mostrando de forma explícita como o objeto responde a estímulos externos a ele. Quando se utiliza o modelo de máquina de estados em um projeto de software, o código-fonte é seu reflexo, de tal forma que um erro do software pode estar diretamente relacionado com a sua máquina de estados. Identificar a causa de uma falha relacionada ao modelo de máquina de estados nem sempre é uma tarefa trivial, podendo muitas vezes passar pelo processo de avaliação de falha, identificar elementos do software que são impactados pelo erro, determinar a sua causa e corrigir o software. Identificar as causas de uma falha é o processo que mais consome tempo no ciclo de vida do software. Existem trabalhos que abordam técnicas de como localizar bugs reportados no código-fonte mas não encontramos nenhum trabalho que relacione ou classifique bugs de acordo com máquina de estados. A tarefa de identificar a qual elemento da máquina de estados um bug reportado está relacionado é muito laboriosa. Diante desse problema, o objetivo desta pesquisa foi desenvolver uma técnica de classificação automática de bugs relacionados a máquina de estados. A técnica proposta é composta por uma taxonomia de bugs sob a perspectiva de máquina de estados e um algoritmo para classificação automática de bugs. Para avaliar a técnica proposta, realizamos um survey para avaliar a taxonomia e um experimento quantitativo em projetos de software reais para avaliar o algoritmo classificador. Como resultado verificamos que: (i) a taxonomia atende a demanda, com número de categorias e clareza adequadas para o seu objetivo; (ii) o algoritmo para classificação automática obteve um desempenho de 80% de precision e 80% de recall utilizando o algoritmo de aprendizagem de máquina KNN.Among the models approached by the UML language, there is the state machine model, which allows modeling the behavior of an isolated software object, showing explicitly how the object responds to external stimulus. When using the state machine model in a software project, the source code reflects the state machine such that a software error may be directly related to the state machine. Identifying the cause of an error related to the state machine model is not always a trivial task and can often go through the error assessment process, identify software elements that impacted by the error, determine its cause, and correct the software. Identifying the causes of a failure is the most time-consuming process in the software life cycle. There are works that address techniques for finding reported bugs in source code, but we have not found any work that lists or classifies bugs according to state machine. The task of identifying which state machine element a reported bug relates to is very laborious. Given this problem, the objective of this research was to develop a technique of automatic classification of bugs related to state machines. The proposed technique is composed of a bug taxonomy from the state machine perspective and an algorithm for automatic bug classification. To evaluate the proposed technique, we performed a survey to evaluate the taxonomy and a quantitative experiment in real software projects to evaluate the classifying algorithm. As result, we found that: (i) taxonomy meets demand, with a number of categories and clarity adequate for its purpose; (ii) the algorithm for automatic classification achieved a performance of 80% precision and 80% recall using the KNN machine learning algorithm.CapesUniversidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGRAMALHO, Franklin de Souza.Ramalho, F. S.http://lattes.cnpq.br/2469816352786812ALVES, Everton Leaiidro Galdino.BARBOSA, Paulo Eduardo e Silva.LIMA, Melquisedec Albert Einstein de Andrade.2019-12-092020-03-23T17:50:33Z2020-03-232020-03-23T17:50:33Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttps://dspace.sti.ufcg.edu.br/handle/riufcg/12623LIMA, M. A. E. de A. Uma abordagem para classificar bugs sob a perspectiva de máquina de estados. 2019. 103 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2019. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/12623porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2025-07-24T08:58:52Zoai:dspace.sti.ufcg.edu.br:riufcg/12623Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512025-07-24T08:58:52Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false
dc.title.none.fl_str_mv Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
An approach to classify bugs from a state machine perspective.
title Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
spellingShingle Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
LIMA, Melquisedec Albert Einstein de Andrade.
Linguagem de Programação
Programming Language
Lenguaje de Programación
Máquina de Estados
State Machine
BUG
Classificação
Classification
Clasificación
Aprendizagem de Máquina
Aprendizaje Automático
Machine Learning
Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
title_short Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
title_full Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
title_fullStr Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
title_full_unstemmed Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
title_sort Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
author LIMA, Melquisedec Albert Einstein de Andrade.
author_facet LIMA, Melquisedec Albert Einstein de Andrade.
author_role author
dc.contributor.none.fl_str_mv RAMALHO, Franklin de Souza.
Ramalho, F. S.
http://lattes.cnpq.br/2469816352786812
ALVES, Everton Leaiidro Galdino.
BARBOSA, Paulo Eduardo e Silva.
dc.contributor.author.fl_str_mv LIMA, Melquisedec Albert Einstein de Andrade.
dc.subject.por.fl_str_mv Linguagem de Programação
Programming Language
Lenguaje de Programación
Máquina de Estados
State Machine
BUG
Classificação
Classification
Clasificación
Aprendizagem de Máquina
Aprendizaje Automático
Machine Learning
Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
topic Linguagem de Programação
Programming Language
Lenguaje de Programación
Máquina de Estados
State Machine
BUG
Classificação
Classification
Clasificación
Aprendizagem de Máquina
Aprendizaje Automático
Machine Learning
Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
description Dentre os modelos abordados pela linguagem UML, existe o modelo de máquina de estados, que permite modelar o comportamento de um objeto de software isolado, mostrando de forma explícita como o objeto responde a estímulos externos a ele. Quando se utiliza o modelo de máquina de estados em um projeto de software, o código-fonte é seu reflexo, de tal forma que um erro do software pode estar diretamente relacionado com a sua máquina de estados. Identificar a causa de uma falha relacionada ao modelo de máquina de estados nem sempre é uma tarefa trivial, podendo muitas vezes passar pelo processo de avaliação de falha, identificar elementos do software que são impactados pelo erro, determinar a sua causa e corrigir o software. Identificar as causas de uma falha é o processo que mais consome tempo no ciclo de vida do software. Existem trabalhos que abordam técnicas de como localizar bugs reportados no código-fonte mas não encontramos nenhum trabalho que relacione ou classifique bugs de acordo com máquina de estados. A tarefa de identificar a qual elemento da máquina de estados um bug reportado está relacionado é muito laboriosa. Diante desse problema, o objetivo desta pesquisa foi desenvolver uma técnica de classificação automática de bugs relacionados a máquina de estados. A técnica proposta é composta por uma taxonomia de bugs sob a perspectiva de máquina de estados e um algoritmo para classificação automática de bugs. Para avaliar a técnica proposta, realizamos um survey para avaliar a taxonomia e um experimento quantitativo em projetos de software reais para avaliar o algoritmo classificador. Como resultado verificamos que: (i) a taxonomia atende a demanda, com número de categorias e clareza adequadas para o seu objetivo; (ii) o algoritmo para classificação automática obteve um desempenho de 80% de precision e 80% de recall utilizando o algoritmo de aprendizagem de máquina KNN.
publishDate 2019
dc.date.none.fl_str_mv 2019-12-09
2020-03-23T17:50:33Z
2020-03-23
2020-03-23T17:50:33Z
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://dspace.sti.ufcg.edu.br/handle/riufcg/12623
LIMA, M. A. E. de A. Uma abordagem para classificar bugs sob a perspectiva de máquina de estados. 2019. 103 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2019. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/12623
url https://dspace.sti.ufcg.edu.br/handle/riufcg/12623
identifier_str_mv LIMA, M. A. E. de A. Uma abordagem para classificar bugs sob a perspectiva de máquina de estados. 2019. 103 f. Dissertação (Mestrado em Sistemas e Computação), Programa de Pós-graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande - Paraíba - Brasil, 2019. Disponível em: https://dspace.sti.ufcg.edu.br/handle/riufcg/12623
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
publisher.none.fl_str_mv Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFCG
instname:Universidade Federal de Campina Grande (UFCG)
instacron:UFCG
instname_str Universidade Federal de Campina Grande (UFCG)
instacron_str UFCG
institution UFCG
reponame_str Biblioteca Digital de Teses e Dissertações da UFCG
collection Biblioteca Digital de Teses e Dissertações da UFCG
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)
repository.mail.fl_str_mv bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br
_version_ 1851784633694289920