Modularidade de Código X Propriedade Coletiva: Um Estudo Empírico sobre Projetos Populares de Código Aberto

  • Igor Muzetti Pereira UFOP
  • Carla Sanches Nere dos Santos UFOP
  • Vicente José Peixoto de Amorim UFOP

Resumo


A propriedade coletiva de codigo é uma prática de desenvolvimento de software comum em sistemas de codigo aberto. Ao longo da construção do codigo, cria-se uma rede de contribuição, uma associação entre desenvolvedores e os modulos do sistema. Este artigo apresenta as Matrizes Simples, uma abordagem para relacionar modulos de sistemas de software aos seus principais contribuidores, por meio de informaçoes extraídas de seus codigos-fontes. Essas matrizes fornecem uma maneira simples e rapida de raciocinar sobre responsabilidades e modulos. Uma ferramenta para recuperar tal matriz é apresentada. Alem disso, doze exemplos e aplicações das matrizes nos projetos de codigo aberto do GitHub são discutidos demostrando sua aplicabilidade.

Palavras-chave: GitHub, Modularidade de Código, Código Aberto

Referências

Aniche, M. (2014). Repodriller. https://github.com/mauricioaniche/ repodriller.

Avelino, G., Passos, L., Hora, A., and Valente, M. T. (2016). A novel approach for estimating truck factors. In 24th International Conference on Program Comprehension (ICPC), pages 1–10.

Baldwin, C. Y. and Clark, K. B. (1999). Design Rules: The Power of Modularity Volume 1. MIT Press, Cambridge, MA, USA.

Coelho, J., Valente, M. T., Silva, L. L., and Hora, A. (2018). Why we engage in FLOSS: Answers from core developers. In 11th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE), pages 1–8.

Conway, M. E. and Spandorfer, L. M. (1968). A computer system designer’s view of large scale integration. In Proceedings of the December 9-11, 1968, Fall Joint Computer Conference, Part I, AFIPS ’68 (Fall, part I), pages 835–845, New York, NY, USA. ACM.

Fritz, T., Ou, J., Murphy, G. C., and Murphy-Hill, E. (2010). A degree-of-knowledge model to capture source code familiarity. In Proceedings of the 32nd ACM/IEEE In- ternational Conference on Software Engineering - Volume 1, ICSE ’10, page 385–394, New York, NY, USA. Association for Computing Machinery.

Greiler, M., Herzig, K., and Czerwonka, J. (2015). Code ownership and software qua- lity: A replication study. In Proceedings of the 12th Working Conference on Mining Software Repositories, MSR ’15, page 2–12. IEEE Press.

Mockus, A., Fielding, R. T., and Herbsleb, J. D. (2002). Two case studies of open source software development: Apache and mozilla. ACM Trans. Softw. Eng. Metho- dol., 11(3):309–346.

Nakakoji, K., Yamamoto, Y., Nishinaka, Y., Kishida, K., and Ye, Y. (2002). Evolution patterns of open-source software systems and communities. In Proceedings of the International Workshop on Principles of Software Evolution, IWPSE ’02, pages 76– 85, New York, NY, USA. ACM.

Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053–1058.

Sangal, N., Jordan, E., Sinha, V., and Jackson, D. (2005). Using dependency models to manage complex software architecture. SIGPLAN Not., 40(10):167–176.

Wohlin, C., Runeson, P., Hst, M., Ohlsson, M. C., Regnell, B., and Wessln, A. (2012). Experimentation in Software Engineering. Springer Publishing Company, Incorpora- ted.

Yamashita, K., McIntosh, S., Kamei, Y., Hassan, A. E., and Ubayashi, N. (2015). Revisi- ting the applicability of the pareto principle to core development teams in open source software projects. In Proceedings of the 14th International Workshop on Principles of Software Evolution, IWPSE 2015, pages 46–55, New York, NY, USA. ACM.
Publicado
30/06/2020
PEREIRA, Igor Muzetti; DOS SANTOS, Carla Sanches Nere; DE AMORIM, Vicente José Peixoto. Modularidade de Código X Propriedade Coletiva: Um Estudo Empírico sobre Projetos Populares de Código Aberto. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HARDWARE (SEMISH), 47. , 2020, Cuiabá. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 93-103. ISSN 2595-6205. DOI: https://doi.org/10.5753/semish.2020.11320.