[pt] EXPLORANDO OS ASPECTOS SOCIAIS DO DECAIMENTO DE DESIGN - CAIO BARBOSA VIEIRA DA SILVA (2021)
[pt] O desenvolvimento de código vem sendo executado de forma colaborativa há muito tempo. Plataformas, como o GitHub, contribuem para esse processo com vários mecanismos. Pull Request é um deles, e permite aos desenvolvedores enviarem suas contribuições para um repositório, onde essas mudanças podem ser discutidas e revisadas antes de serem integradas ao código principal. Um dos objetivos desse processo é evitar um fenômeno chamado design decay, que ocorre quando estruturas de pobres de design são introduzidas no código fonte. Como resultado, o projeto pode se tornar difícil de manter e evoluir. As técnicas existentes usam sintomas de código fonte (e.g., mal cheiros de código) para identificar a manifestação de design decay. No entanto, esses sintomas só podem identificar design decay que já se ocorreu. Assim, nesta dissertação, investigamos três aspectos sociais para prever a manifestação de design decay em projetos de código aberto. Dinâmica de comunicação representa informações sobre os papéis dos contribuidores e aspectos temporais das discussões. Conteúdo da discussão é a informação sendo trocada entre participantes de uma contribuição. Finalmente, dinâmica organizacional representa as características da equipe. A manifestação desses aspectos sociais ao longo do desenvolvimento de software pode induzir comportamentos que possivelmente afetam a qualidade do código. No entanto, nenhum estudo anterior investigou a sua influência no design decay. Assim, buscamos evidências sobre como esses três aspectos influenciam na manifestação de design decay. Para atingir esse objetivo, nós introduzimos um conjunto de métricas para caracterizar aspectos sociais num modelo de desenvolvimento baseado em pull requests. Então, nós analisamos sete projetos, extraindo seus commits e pull requests. Nossos resultados revelam que: (i) métricas sociais podem ser usadas para discriminar as pull requests que impactam na manifestação de design decay daquelas que não impactam; (ii) vários fatores da dinâmica da comunicação estão relacionados ao design decay. No entanto, os fatores temporais superam os fatores dos papéis dos participantes como indicadores de design decay; e (iii) aspectos relacionados à dinâmica organizacional, como o número de novatos, surpreendentemente, não estão associados a manifestação de design decay.