Use este identificador para citar ou linkar para este item:
http://repositorio.utfpr.edu.br/jspui/handle/1/35301
Registro completo de metadados
Campo DC | Valor | Idioma |
---|---|---|
dc.creator | Silva, Breno Farias da | - |
dc.date.accessioned | 2024-10-31T21:24:18Z | - |
dc.date.available | 2024-10-31T21:24:18Z | - |
dc.date.issued | 2024-09-02 | - |
dc.identifier.citation | SILVA, Breno Farias da. Abordagem para seleção de exemplos de código de sistemas distribuídos para a criação de exemplos trabalhados de engenharia de software. 2024. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Universidade Tecnológica Federal do Paraná, Campo Mourão, 2024. | pt_BR |
dc.identifier.uri | http://repositorio.utfpr.edu.br/jspui/handle/1/35301 | - |
dc.description.abstract | This study investigates the evolution of open-source Distributed Systems (DS) projects, including Apache Kafka and ZooKeeper, which aims at selecting code snippets as candidates for creating worked examples that demonstrate important concepts of Software Engineering (SE) and DS, applicable to the teaching of these subjects. To achieve this, the tool called Worked-Example-Miner (WEM) was developed, implementing a heuristic that applies static code quality metrics, such as coupling and complexity, as well as detecting refactoring patterns that indicate improvements in software design. The application of the heuristic to various open-source repositories resulted in the identification of promising candidates for the creation of worked examples. The integration with the Artificial Intelligence (AI) model Google Gemini allowed the identification of candidates addressing specific DS topics, such as distributed consensus and fault tolerance. The results demonstrate that the developed heuristic successfully selects several dozen candidates within the analyzed projects. Considering that the viability of such a heuristic depends on selecting a reduced and relevant number of candidates for expert analysis, this figure represents a reduction in the number of candidates by up to 99.760%, with an average of 95.740% and a small standard deviation of 3.877% relative to the total number of classes in a repository, with thousands of files and tens of thousands of changes, demonstrating that the developed heuristic yields promising results. The evaluation of the candidates by experts in DS and SE confirmed the relevance of the selected code segments for educational purposes. | pt_BR |
dc.language | por | pt_BR |
dc.publisher | Universidade Tecnológica Federal do Paraná | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights | Attribution 4.0 International | * |
dc.rights.uri | http://creativecommons.org/licenses/by/4.0/ | * |
dc.subject | Engenharia de software | pt_BR |
dc.subject | Programação heurística | pt_BR |
dc.subject | Software - Refatoração | pt_BR |
dc.subject | Software engineering | pt_BR |
dc.subject | Heuristic programming | pt_BR |
dc.subject | Software refactoring | pt_BR |
dc.title | Abordagem para seleção de exemplos de código de sistemas distribuídos para a criação de exemplos trabalhados de engenharia de software | pt_BR |
dc.title.alternative | An approach for selecting code examples of distributed systems for creating worked examples of software engineering | pt_BR |
dc.type | bachelorThesis | pt_BR |
dc.description.resumo | Contexto: Esta monografia investiga a evolução de projetos de Sistema Distribuído (SD)s de código aberto, incluindo Apache Kafka e ZooKeeper. Objetivo: O objetivo é selecionar trechos de código candidatos para a criação de exemplos trabalhados, que demonstrem conceitos importantes de SD e Engenharia de Software (ES) aplicáveis ao ensino de tais disciplinas. Método: Foi desenvolvida a ferramenta denominada Worked-Example-Miner (WEM), que implementa uma heurística baseada em métricas estáticas de qualidade de código, como acoplamento e complexidade, além da detecção de padrões de refatoração que indiquem melhorias no design do software. A heurística foi aplicada a vários repositórios de código aberto para identificar candidatos promissores. A integração com o modelo de Inteligência Artificial (IA) Google Gemini permitiu a identificação de candidatos que abordam tópicos específicos de SD, como consenso distribuído e tolerância a falhas. Resultados: A aplicação da heurística resultou na identificação de algumas dezenas de candidatos relevantes para a criação de exemplos trabalhados. A redução da quantidade de candidatos foi de até 99,760%, com uma média de 95,740% e um desvio padrão pequeno de 3,877% em relação ao número total de classes em cada repositório, demonstrando a eficácia da heurística. Conclusões: A heurística desenvolvida apresentou resultados promissores ao reduzir significativamente o número de candidatos para análise, mantendo a relevância educacional dos exemplos selecionados. A avaliação dos candidatos por especialistas em SD e ES confirmou a utilidade dos trechos de código para o ensino. | pt_BR |
dc.degree.local | Campo Mourão | pt_BR |
dc.publisher.local | Campo Mourao | pt_BR |
dc.contributor.advisor1 | Silva, Marco Aurélio Graciotto | - |
dc.contributor.advisor-co1 | Campiolo, Rodrigo | - |
dc.contributor.referee1 | Silva, Marco Aurélio Graciotto | - |
dc.contributor.referee2 | Campiolo, Rodrigo | - |
dc.contributor.referee3 | Wiese, Igor Scaliante | - |
dc.contributor.referee4 | Valentin, Lucio Geronimo | - |
dc.publisher.country | Brasil | pt_BR |
dc.publisher.department | Departamento Acadêmico de Computação | pt_BR |
dc.publisher.program | Ciência da Computação | pt_BR |
dc.publisher.initials | UTFPR | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
Aparece nas coleções: | CM - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
abordagemselecaosistemasdistribuidos.pdf | 11,43 MB | Adobe PDF | Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons