A Multi-Faceted Analysis of How Organizations Create and Maintain Code Samples

Code samples, artifacts within the realm of software ecosystems, serve to assist developers by exemplifying the use of APIs, libraries, and other resources. Their exploration in literature began relatively recently, around 2019. Studies proposed to understand the structural characteristics of the co...

Descripción completa

Detalles Bibliográficos
Autor: MATHEUS ALBUQUERQUE DE MELO
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2023
País:Brasil
Institución:Universidade Federal de Mato Grosso do Sul (UFMS)
Repositorio:Repositório Institucional da UFMS
Idioma:portugués
OAI Identifier:oai:repositorio.ufms.br:123456789/8567
Acceso en línea:https://repositorio.ufms.br/handle/123456789/8567
Access Level:acceso abierto
Palabra clave:Code samples
Mining Software Repository
Software Ecosystems
Descripción
Sumario:Code samples, artifacts within the realm of software ecosystems, serve to assist developers by exemplifying the use of APIs, libraries, and other resources. Their exploration in literature began relatively recently, around 2019. Studies proposed to understand the structural characteristics of the code of these artifacts, as well as how they undergo maintenance and evolve over time. In 2020, there was also exploration of the target audience consuming this artifact through questions on StackOverflow. This present study was divided into two parts. Firstly, we investigated code samples repositories on GitHub and analyzed how organizations handles contributions from external developers within this environment. In the second part, we conducted a survey with developers who produce code samples within organizations. This allowed us to better understand their vision and perspectives regarding code samples, as well as analyze their experiences with code samples and dedication to these artifacts. The proposals of both parts of the study had not been previously explored in the context of code samples. Our findings revealed some points, such as the delay in reviewing pull requests, especially those that were rejected, and bottlenecks in the distribution of review activities among maintainers. These findings resulted in a publication. Furthermore, we found that the purposes of code samples go beyond educational purposes as suggested by the organizations' developers. We also identified that experienced developers are involved in the development of code samples in organizations, usually dedicating a few hours per month or week to this activity. Finally, we noted the presence of problems of divergence of opinions among the organizations' developers, in relation to the target audience of the code samples, the development process, and the guarantee of the quality of these artifacts.