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. lattes
Orientador(a): RAMALHO, Franklin de Souza. lattes
Banca de defesa: ALVES, Everton Leaiidro Galdino., BARBOSA, Paulo Eduardo e Silva.
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Programa de Pós-Graduação: PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Departamento: Centro de Engenharia Elétrica e Informática - CEEI
País: Brasil
Palavras-chave em Português:
BUG
Área do conhecimento CNPq:
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 RAMALHO, Franklin de Souza.Ramalho, F. S.http://lattes.cnpq.br/2469816352786812ALVES, Everton Leaiidro Galdino.BARBOSA, Paulo Eduardo e Silva.LIMA, M. A. E. A.http://lattes.cnpq.br/5783905837905959LIMA, Melquisedec Albert Einstein de Andrade.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.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.Submitted by Emanuel Varela Cardoso (emanuel.varela@ufcg.edu.br) on 2020-03-23T17:50:33Z No. of bitstreams: 1 MELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdf: 1405362 bytes, checksum: 841f222d4f832f20d9c3b2b60a3ff33d (MD5)Made available in DSpace on 2020-03-23T17:50:33Z (GMT). No. of bitstreams: 1 MELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdf: 1405362 bytes, checksum: 841f222d4f832f20d9c3b2b60a3ff33d (MD5) Previous issue date: 2019-12-09CapesUniversidade Federal de Campina GrandePÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBrasilCentro de Engenharia Elétrica e Informática - CEEICiência da ComputaçãoLinguagens de ProgramaçãoMetodologia e Técnicas da ComputaçãoLinguagem de ProgramaçãoProgramming LanguageLenguaje de ProgramaciónMáquina de EstadosState MachineBUGClassificaçãoClassificationClasificaciónAprendizagem de MáquinaAprendizaje AutomáticoMachine LearningUma abordagem para classificar bugs sob a perspectiva de máquina de estados.An approach to classify bugs from a state machine perspective.2019-12-092020-03-23T17:50:33Z2020-03-232020-03-23T17:50:33Zhttps://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/12623info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCGTEXTMELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdf.txtMELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdf.txttext/plain172318https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/4/MELQUISEDEC+ALBERT+EINSTEIN+DE+ANDRADE+LIMA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2019.pdf.txt7377631a029f59d06e1cc74073f0b702MD54ORIGINALMELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdfMELQUISEDEC ALBERT EINSTEIN DE ANDRADE LIMA - DISSERTAÇÃO (PPGCC) 2019.pdfapplication/pdf1057747https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/3/MELQUISEDEC+ALBERT+EINSTEIN+DE+ANDRADE+LIMA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2019.pdfac538b8d12e3b33290d45658ae914d33MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52riufcg/126232025-07-24 05:58:52.935oai:dspace.sti.ufcg.edu.br:riufcg/12623Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Biblioteca 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.pt_BR.fl_str_mv Uma abordagem para classificar bugs sob a perspectiva de máquina de estados.
dc.title.alternative.pt_BR.fl_str_mv 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.
Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
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
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.advisor1.fl_str_mv RAMALHO, Franklin de Souza.
dc.contributor.advisor1ID.fl_str_mv Ramalho, F. S.
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/2469816352786812
dc.contributor.referee1.fl_str_mv ALVES, Everton Leaiidro Galdino.
dc.contributor.referee2.fl_str_mv BARBOSA, Paulo Eduardo e Silva.
dc.contributor.authorID.fl_str_mv LIMA, M. A. E. A.
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/5783905837905959
dc.contributor.author.fl_str_mv LIMA, Melquisedec Albert Einstein de Andrade.
contributor_str_mv RAMALHO, Franklin de Souza.
ALVES, Everton Leaiidro Galdino.
BARBOSA, Paulo Eduardo e Silva.
dc.subject.cnpq.fl_str_mv Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
topic Ciência da Computação
Linguagens de Programação
Metodologia e Técnicas da Computação
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
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
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.issued.fl_str_mv 2019-12-09
dc.date.accessioned.fl_str_mv 2020-03-23T17:50:33Z
dc.date.available.fl_str_mv 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
dc.identifier.citation.fl_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
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
dc.publisher.program.fl_str_mv PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFCG
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Engenharia Elétrica e Informática - CEEI
publisher.none.fl_str_mv Universidade Federal de Campina Grande
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
bitstream.url.fl_str_mv https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/4/MELQUISEDEC+ALBERT+EINSTEIN+DE+ANDRADE+LIMA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2019.pdf.txt
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/3/MELQUISEDEC+ALBERT+EINSTEIN+DE+ANDRADE+LIMA+-+DISSERTA%C3%87%C3%83O+%28PPGCC%29+2019.pdf
https://dspace.sti.ufcg.edu.br/bitstream/riufcg/12623/2/license.txt
bitstream.checksum.fl_str_mv 7377631a029f59d06e1cc74073f0b702
ac538b8d12e3b33290d45658ae914d33
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
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_ 1863363472316694528