Use este identificador para citar ou linkar para este item: https://repositorio.ufms.br/handle/123456789/5057
Tipo: Dissertação
Título: Exploring code samples characteristics and their impacts on software ecosystems
Autor(es): GABRIEL SANTANA DE MENEZES
Primeiro orientador: Bruno Barbieri de Pontes Cafeo
Resumo: Os sistemas de software modernos são geralmente construídos sobre frameworks, bibliotecas e APIs (plataformas). Ambientes onde existem relações entre as organizações que mantêm essas plataformas e os clientes que utilizam recursos dessas plataformas são conhecidos como Ecossistema de Software. Nesse contexto, as organizações desenvolvem code samples para ajudar seus clientes com as barreiras de aprendizado. Code samples são pequenos projetos de software, com fins educacionais, e ensinam como usar os recursos da plataforma. No entanto, sabemos pouco sobre as características de code samples e sua relação com organizações e clientes. Neste trabalho, pretendemos preencher essas lacunas avaliando quatro aspectos diferentes. Primeiro, comparando code samples com projetos convencionais através de seu código-fonte. Segundo, explorando o uso de code samples via Stack Overflow e GitHub. Terceiro, avaliando o perfil dos atores que interagem com code samples. Quarto, manutenção de code samples e seu impacto nos clientes. Descobrimos que os code samples são menores e mais simples do que os projetos convencionais. Também descobrimos que code samples mudam com menos frequência, mas atualiza mais rapidamente para novas versões de plataforma do que os projetos convencionais. Em relação ao uso de code samples, descobrimos que a abordagem copiar/colar é pouco utilizada pelos clientes. Além disso, notamos que o problema mais comum enfrentado pelos clientes é quando eles tentam modificar a code samples e as melhorias são a necessidade mais comum dos clientes. Em relação aos atores em torno dos code samples, descobrimos que o público-alvo dos code samples pode variar de clientes inexperientes a clientes experientes. Além disso, notamos que plataformas de diferentes organizações parecem ter diferentes públicos-alvo. Além disso, os mantenedores de code samples são antigos e impopulares no GitHub. Por fim, sobre a manutenção de code samples, descobrimos que a modificação de código é a atividade de manutenção mais comum de code samples, mas o gerenciamento de Pull Rquests desempenha um papel essencial no tempo de manutenção. Também descobrimos que os code samples se tornam menos complexas, mas maiores e menos legíveis ao longo do tempo.
Abstract: Modern software systems are commonly built on top of frameworks, libraries, and APIs (platforms). The environments where exists relations between organizations that maintain these platforms and clients that use features of these platforms are known as the Software Ecosystem. In this context, organizations develop code samples to help their client with learning barriers. Code samples are small software projects, with educational purposes, and teach how to use platform features. However, we know little about code sample characteristics and their relation with organizations and clients. In this work, we aim to fill these gaps by assessing four different aspects. First, comparing code samples with conventional projects through their source code. Second, exploring the code sample usage via Stack Overflow and GitHub. Third, assessing the profile of actors that interact with code samples. Fourth, maintenance of code samples and their impact on clients. We found that code samples are smaller and simpler than conventional projects. We also found that code sample changes less frequently but updates faster to new platform versions than conventional projects. Regarding code sample usage, we found that the copy/paste approach is low used by clients. Also, we noted that the most common problem faced by clients is when they try to modify the code sample and improvements are the most common need from clients. Regarding actors around code samples, we found that the target audience of code samples can range from inexperienced to experienced clients. Also, we noted that platforms of different organizations seem to have different target audiences. Also, code sample maintainers are aged and unpopular on GitHub. Finally, about code sample maintenance, we found that code modifying is the most common maintenance activity of code samples, but Pull Request management plays an essential part in maintenance time. We also found that code samples become less complex but larger and less readable over time.
Palavras-chave: Code samples
Mining Software Repository
Software Maintenance
Software Ecosystems
País: Brasil
Editor: Fundação Universidade Federal de Mato Grosso do Sul
Sigla da Instituição: UFMS
Tipo de acesso: Acesso Aberto
URI: https://repositorio.ufms.br/handle/123456789/5057
Data do documento: 2022
Aparece nas coleções:Programa de Pós-graduação em Ciência da Computação

Arquivos associados a este item:
Arquivo TamanhoFormato 
dissertacao_do_gabriel.pdf1,43 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.