Interação humano-dados no contexto de recomendação para desenvolvedores de projetos de software open-source do GitHub
Resumo
A colaboração ativa é essencial para o sucesso de projetos de software em todo o ciclo de vida do desenvolvimento. Infelizmente, em plataformas de codificação social, como o GitHub, ainda é desafiador para os desenvolvedores identificar potenciais colaboradores e por conseguinte, melhorar a qualidade das contribuições. Para esse fim, implementamos estratégias de recomendação de desenvolvedores, apoiadas por uma ferramenta visual e interativa, chamada COOPFINDER, para conectar colaboradores com base em um conjunto de arquivos de seus interesses. Além disso, a ferramenta fornece metadados e vincula diferentes atributos que não podem ser analisados usando a interface do GitHub, facilitando a tomada de decisão dos colaboradores.
Palavras-chave:
Projetos de software de código aberto, desenvolvimento colaborativo de software, colaboração distribuída, recomendação de desenvolvedores, interações com experiências humanas
Referências
Avelino, G., Passos, L., Hora, A., and Valente, M. T. (2016). A novel approach for estimating truck factors. In Proc. of the 24th International Conference on Program Comprehension (ICPC), pages 1–10.
Constantino, K., Belém, F., and Figueiredo, E. (2023a). Dual analysis for helping developers to find collaborators based on co-changed files: An empirical study. Journal of Software: Practice and Experience (JSPE), pages 1–27.
Constantino, K. and Figueiredo, E. (2022). Coopfinder: Finding collaborators based on co–changed files. In Proc. of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 1–3.
Constantino, K. and Figueiredo, E. (2023). Finding collaborations based on co-changed files. In Anais Estendidos do XVIII Simpósio Brasileiro de Sistemas Colaborativos, pages 57–66.
Constantino, K., Prates, R., and Figueiredo, E. (2023b). Recommending collaborators based on co–changed files: A controlled experiment. In Proc. of the 18th Brazilian Symposium on Collaborative Systems, pages 154–168.
Constantino, K., Prates, R., and Figueiredo, E. (2024). A user evaluation of a collaborator recommender based on co-changed files. Journal on Interactive Systems (JIS), 15(1):157–169.
Constantino, K., Souza, M., Zhou, S., Figueiredo, E., and Kästner, C. (2021). Perceptions of open-source software developers on collaborations: An interview and survey study. Journal of Software: Evolution and Process (JSEP), 33:e2393.
Constantino, K., Zhou, S., Souza, M., Figueiredo, E., and Kästner, C. (2020). Understanding collaborative software development: An interview study. In Proc. of the 15th International Conference on Global Software Engineering (ICGSE), page 55–65.
de Neira, A. B., Steinmacher, I., and Wiese, I. S. (2018). Characterizing the hyperspecialists in the context of crowdsourcing software development. Journal of the Brazilian Computer Society (JBCS), 24(1):1–16.
Ferreira, M., Valente, M. T., and Ferreira, K. (2017). A comparison of three algorithms for computing truck factors. In Proc. of the 25th International Conference on Program Comprehension (ICPC), pages 207–217.
Franco, M. F., Rodrigues, B., and Stiller, B. (2019). Mentor: The design and evaluation of a protection services recommender system. In Proc. of the 15th International Conference on Network and Service Management (CNSM), pages 1–7.
Gousios, G., Pinzger, M., and Deursen, A. v. (2014). An exploratory study of the pull-based software development model. In Proc. of the 36th International Conference on Software Engineering (ICSE), pages 345–355.
Gousios, G., Zaidman, A., Storey, M.-A., and Deursen, A. v. (2015). Work practices and challenges in pull-based development: The integrator’s perspective. In Proc. of the 37th International Conference on Software Engineering (ICSE), volume 1, pages 358–368.
Kononenko, O., Baysal, O., and Godfrey, M. W. (2016). Code review quality: How developers see it. In Proc. of the 38th International Conference on Software Engineering (ICSE), pages 1028–1038.
Minto, S. and Murphy, G. (2007). Recommending emergent teams. In Proc. of the 4th International Conference on Mining Software Repositories (MSR), pages 5–5.
Oliveira, J., Pinheiro, D., and Figueiredo, E. (2020). Jexpert: A tool for library expert identification. In Proc. of the 34th Brazilian Symposium on Software Engineering (SBES), pages 386–392.
Oliveira, J., Viggiato, M., and Figueiredo, E. (2019). How well do you know this library? mining experts from source code analysis. In Proc. of the XVIII Brazilian Symposium on Software Quality (SBQS), pages 49–58.
Pham, R., Singer, L., Liskin, O., Figueira Filho, F., and Schneider, K. (2013). Creating a shared understanding of testing culture on a social coding site. In Proc. of the 35th International Conference on Software Engineering (ICSE), pages 112–121.
Pinto, G., Steinmacher, I., and Gerosa, M. (2016). More common than you think: An in-depth study of casual contributors. In Proc. of the 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), volume 1, pages 112–123.
Rahman, M. M., Roy, C. K., Redl, J., and Collins, J. A. (2016). Correct: Code reviewer recommendation at github for vendasta technologies. In Proc. of the 31st International Conference on Automated Software Engineering (ASE), page 792–797.
Ricci, F., Rokach, L., and Shapira, B. (2011). Introduction to recommender systems handbook. In Recommender Systems Handbook, pages 1–35.
Salton, G. (1971). The smart retrieval system: Experiments in automatic information retrieval.
Salton, G. (1989). Automatic text processing: The transformation, analysis, and retrieval of. Reading: Addison-Wesley, 169.
Salton, G. and Harman, D. (2003). Information retrieval. In Encyclopedia of Computer Science.
Steinmacher, I., Pinto, G., Wiese, I. S., and Gerosa, M. A. (2018). Almost there: A study on quasi-contributors in open-source software projects. In Proc. of the 40th International Conference on Software Engineering (ICSE), pages 256–266.
Tamburri, D. A., Kruchten, P., Lago, P., and Van Vliet, H. (2015). Social debt in software engineering: Insights from industry. Journal of Internet Services and Applications (JISA), 6(1):1–17.
Yu, Y., Wang, H., Filkov, V., Devanbu, P., and Vasilescu, B. (2015). Wait for it: Determinants of pull request evaluation latency on github. In Proc. of the 12th International Conference on Mining Software Repositories (MSR), pages 367–371.
Constantino, K., Belém, F., and Figueiredo, E. (2023a). Dual analysis for helping developers to find collaborators based on co-changed files: An empirical study. Journal of Software: Practice and Experience (JSPE), pages 1–27.
Constantino, K. and Figueiredo, E. (2022). Coopfinder: Finding collaborators based on co–changed files. In Proc. of the IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 1–3.
Constantino, K. and Figueiredo, E. (2023). Finding collaborations based on co-changed files. In Anais Estendidos do XVIII Simpósio Brasileiro de Sistemas Colaborativos, pages 57–66.
Constantino, K., Prates, R., and Figueiredo, E. (2023b). Recommending collaborators based on co–changed files: A controlled experiment. In Proc. of the 18th Brazilian Symposium on Collaborative Systems, pages 154–168.
Constantino, K., Prates, R., and Figueiredo, E. (2024). A user evaluation of a collaborator recommender based on co-changed files. Journal on Interactive Systems (JIS), 15(1):157–169.
Constantino, K., Souza, M., Zhou, S., Figueiredo, E., and Kästner, C. (2021). Perceptions of open-source software developers on collaborations: An interview and survey study. Journal of Software: Evolution and Process (JSEP), 33:e2393.
Constantino, K., Zhou, S., Souza, M., Figueiredo, E., and Kästner, C. (2020). Understanding collaborative software development: An interview study. In Proc. of the 15th International Conference on Global Software Engineering (ICGSE), page 55–65.
de Neira, A. B., Steinmacher, I., and Wiese, I. S. (2018). Characterizing the hyperspecialists in the context of crowdsourcing software development. Journal of the Brazilian Computer Society (JBCS), 24(1):1–16.
Ferreira, M., Valente, M. T., and Ferreira, K. (2017). A comparison of three algorithms for computing truck factors. In Proc. of the 25th International Conference on Program Comprehension (ICPC), pages 207–217.
Franco, M. F., Rodrigues, B., and Stiller, B. (2019). Mentor: The design and evaluation of a protection services recommender system. In Proc. of the 15th International Conference on Network and Service Management (CNSM), pages 1–7.
Gousios, G., Pinzger, M., and Deursen, A. v. (2014). An exploratory study of the pull-based software development model. In Proc. of the 36th International Conference on Software Engineering (ICSE), pages 345–355.
Gousios, G., Zaidman, A., Storey, M.-A., and Deursen, A. v. (2015). Work practices and challenges in pull-based development: The integrator’s perspective. In Proc. of the 37th International Conference on Software Engineering (ICSE), volume 1, pages 358–368.
Kononenko, O., Baysal, O., and Godfrey, M. W. (2016). Code review quality: How developers see it. In Proc. of the 38th International Conference on Software Engineering (ICSE), pages 1028–1038.
Minto, S. and Murphy, G. (2007). Recommending emergent teams. In Proc. of the 4th International Conference on Mining Software Repositories (MSR), pages 5–5.
Oliveira, J., Pinheiro, D., and Figueiredo, E. (2020). Jexpert: A tool for library expert identification. In Proc. of the 34th Brazilian Symposium on Software Engineering (SBES), pages 386–392.
Oliveira, J., Viggiato, M., and Figueiredo, E. (2019). How well do you know this library? mining experts from source code analysis. In Proc. of the XVIII Brazilian Symposium on Software Quality (SBQS), pages 49–58.
Pham, R., Singer, L., Liskin, O., Figueira Filho, F., and Schneider, K. (2013). Creating a shared understanding of testing culture on a social coding site. In Proc. of the 35th International Conference on Software Engineering (ICSE), pages 112–121.
Pinto, G., Steinmacher, I., and Gerosa, M. (2016). More common than you think: An in-depth study of casual contributors. In Proc. of the 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), volume 1, pages 112–123.
Rahman, M. M., Roy, C. K., Redl, J., and Collins, J. A. (2016). Correct: Code reviewer recommendation at github for vendasta technologies. In Proc. of the 31st International Conference on Automated Software Engineering (ASE), page 792–797.
Ricci, F., Rokach, L., and Shapira, B. (2011). Introduction to recommender systems handbook. In Recommender Systems Handbook, pages 1–35.
Salton, G. (1971). The smart retrieval system: Experiments in automatic information retrieval.
Salton, G. (1989). Automatic text processing: The transformation, analysis, and retrieval of. Reading: Addison-Wesley, 169.
Salton, G. and Harman, D. (2003). Information retrieval. In Encyclopedia of Computer Science.
Steinmacher, I., Pinto, G., Wiese, I. S., and Gerosa, M. A. (2018). Almost there: A study on quasi-contributors in open-source software projects. In Proc. of the 40th International Conference on Software Engineering (ICSE), pages 256–266.
Tamburri, D. A., Kruchten, P., Lago, P., and Van Vliet, H. (2015). Social debt in software engineering: Insights from industry. Journal of Internet Services and Applications (JISA), 6(1):1–17.
Yu, Y., Wang, H., Filkov, V., Devanbu, P., and Vasilescu, B. (2015). Wait for it: Determinants of pull request evaluation latency on github. In Proc. of the 12th International Conference on Mining Software Repositories (MSR), pages 367–371.
Publicado
09/10/2024
Como Citar
CONSTANTINO, Kattiana; PRATES, Raquel; FIGUEIREDO, Eduardo.
Interação humano-dados no contexto de recomendação para desenvolvedores de projetos de software open-source do GitHub. In: WORKSHOP INVESTIGAÇÕES EM INTERAÇÃO HUMANO-DADOS (WIDE), 3. , 2024, Brasília/DF.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 65-72.
DOI: https://doi.org/10.5753/wide.2024.245495.