dc.contributor.advisor | Fontoura, Lisandra Manzoni | |
dc.creator | Rossi, Bruno Budel | |
dc.date.accessioned | 2023-02-23T14:56:36Z | |
dc.date.available | 2023-02-23T14:56:36Z | |
dc.date.issued | 2023-02-15 | |
dc.date.submitted | 2023-02-15 | |
dc.identifier.uri | http://repositorio.ufsm.br/handle/1/27881 | |
dc.description | Trabalho de conclusão de curso (graduação) - Universidade Federal de Santa Maria, Centro de Tecnologia, Curso de Sistemas de Informação, RS, 2023. | por |
dc.description.abstract | The concern about how software developers use their time and attempts to automate manual processes have taken on a greater proportion every year. In Software Engineering, recommender systems help developers find information that should be known, evaluate alternatives and aid data navigation. Currently, Git-based shared code repositories are part of everyday life for most software developers. These repositories make several functionalities available to their users, among them, issues are a way to document problems, request some documentation, provide feedback and track the workflow on a problem, however, active code repositories tend to generate many issues, which which in turn ends up making the task of recovering relevant issues something more costly for its users. The purpose of this work is the elaboration of a recommendation system capable of analyzing issues, using unsupervised machine learning, through the Word2Vec natural language processing algorithm, with the objective of facilitating the search for issues and assisting in decision making based on stored issues. in a code repository. To achieve this goal, it was necessary to extract the issues from the code repository, pre-process the previously defined fields, create unigram, bigram and trigram dictionaries and finally train the neural network used by the Word2Vec algorithm, using as input previously created dictionaries. After the model has already been trained, the user will be able to search for issues through a data entry, this entry may contain one, two or three words and should return a set of issues more semantically similar to the entry. The evaluations showed that the recommendation system makes relevant suggestions, helps with navigation and facilitates decision-making regarding issues in code repositories. | eng |
dc.language | por | por |
dc.publisher | Universidade Federal de Santa Maria | por |
dc.rights | Acesso Aberto | por |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.subject | Sistemas de recomendação | por |
dc.subject | Processamento de Linguagem Natural | por |
dc.subject | Aprendizado de Máquina Não Supervisionado | por |
dc.subject | Redes Neurais | por |
dc.subject | Issues | eng |
dc.subject | Recommender System | eng |
dc.subject | Natural Language Processing | eng |
dc.subject | Unsupervised Machine Learning | eng |
dc.subject | Neural Network | eng |
dc.title | Sistema inteligente de busca de issues em repositórios de código | por |
dc.title.alternative | Intelligent system for searching issues in code repository | eng |
dc.type | Trabalho de Conclusão de Curso de Graduação | por |
dc.degree.local | Santa Maria, RS, Brasil. | por |
dc.degree.graduation | Sistemas de Informação | por |
dc.description.resumo | A preocupação em como desenvolvedores de software usam seu tempo e as tentativas de automatizar processos manuais têm tomado uma proporção maior a cada ano. Em Engenharia de Software, sistemas de recomendação auxiliam desenvolvedores a encontrar informações que se deve conhecer, avaliar alternativas e auxiliar na navegação de dados. Atualmente, repositórios de código compartilhado com base em Git fazem parte do dia a dia de grande parte dos desenvolvedores de software. Estes repositórios disponibilizam várias funcionalidades aos seus usuários, dentre essas, as issues são uma maneira de documentar problemas, solicitar alguma documentação, prover feedbacks e rastrear o fluxo de trabalho sobre um problema, entretanto, repositórios de código ativos tendem a gerar muitas issues, o que por sua vez acaba tornando a tarefa de recuperar issues relevantes algo mais custoso aos seus usuários. A proposta deste trabalho é a elaboração de um sistema de recomendação capaz de analisar issues, utilizando aprendizado de máquina não supervisionado, através do algoritmo de processamento de linguagem natural Word2Vec, com objetivo de facilitar a busca de issues e auxiliar na tomada de decisão a partir de issues armazenadas em um repositório de código. Para atingir este objetivo, foi necessário extrair as issues do repositório de código, realizar o pré-processamento dos campos previamente definidos, criar dicionários de unigram, bigram e trigram e, por fim, realizar o treinamento da rede neural utilizada pelo algoritmo Word2Vec, utilizando como entrada os dicionários criados anteriormente. Após o modelo já treinado, o usuário será capaz de buscar issues através de uma entrada de dados, esta entrada pode conter uma, duas ou três palavras e deve obter como retorno um conjunto de issues mais similar semanticamente com a entrada. As avaliações mostraram que o sistema de recomendação realiza sugestões relevantes, auxilia na navegação e facilita a tomada de decisão no âmbito de issues em repositórios de código. | por |
dc.publisher.country | Brasil | por |
dc.publisher.initials | UFSM | por |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::SISTEMAS DE INFORMACAO | por |
dc.publisher.unidade | Centro de Tecnologia | por |