Bridging the Gap in Code Reviews: A Large Language Model-based Proposal for Global Development Teams
Resumo
Revisões de código são cruciais para melhorar a qualidade do software e a aderência a princípios de design. Contudo, são desafiadas por questões como diferenças de fuso horário e idioma em equipes globais. Este artigo apresenta um bot de revisão automatizado que usa Modelos de Linguagem de Grande Escala, especificamente o GPT-4, para impor os princípios SOLID em revisões, agilizando o processo, buscando assim minimizar obstáculos de comunicação e oferece insights educacionais, especialmente para desenvolvedores novatos. Exploramos o design do bot, sua integração com o ChatGPT (GPT-4) e impactos potenciais, comparando-o com soluções existentes destacando seus benefícios e possíveis limitações.
Palavras-chave:
LLM, Revisão de Código, AI
Referências
Balachandran, V. (2013). Reducing human effort and improving quality in peer code reviews using automatic static analysis and reviewer recommendation. In 2013 35th International Conference on Software Engineering (ICSE), pages 931–940. IEEE.
Kojima, T., Gu, S. S., Reid, M., Matsuo, Y., and Iwasawa, Y. (2022). Large language models are zero-shot reasoners. Advances in neural information processing systems, 35:22199–22213.
Martin, R. C. (2003). Agile software development: principles, patterns, and practices. Prentice Hall PTR.
McDonough, E. F., Kahn, K. B., and Griffin, A. (1999). Managing communication in global product development teams. IEEE Transactions on Engineering Management, 46(4):375–386.
Sadowski, C., Soderberg, E., Church, L., Sipko, M., and Bacchelli, A. (2018). Modern code review: a case study at google. In Proceedings of the 40th international conference on software engineering: Software engineering in practice, pages 181–190.
Sridhara, G., Mazumdar, S., et al. (2023). Chatgpt: A study on its utility for ubiquitous software engineering tasks. arXiv preprint arXiv:2305.16837.
Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S., Yogatama, D., Bosma, M., Zhou, D., Metzler, D., et al. (2022). Emergent abilities of large language models. arXiv preprint arXiv:2206.07682.
Wessel, M., Serebrenik, A., Wiese, I., Steinmacher, I., and Gerosa, M. A. (2020). Effects of adopting code review bots on pull requests to oss projects. In 2020 IEEE international conference on software maintenance and evolution (ICSME), pages 1–11. IEEE.
Wyrich, M. and Bogner, J. (2019). Towards an autonomous bot for automatic source code refactoring. In 2019 IEEE/ACM 1st international workshop on bots in software engineering (BotSE), pages 24–28. IEEE.
Xu, F. F., Alon, U., Neubig, G., and Hellendoorn, V. J. (2022). A systematic evaluation of large language models of code. In Proceedings of the 6th ACM SIGPLAN International Symposium on Machine Programming, pages 1–10.
Kojima, T., Gu, S. S., Reid, M., Matsuo, Y., and Iwasawa, Y. (2022). Large language models are zero-shot reasoners. Advances in neural information processing systems, 35:22199–22213.
Martin, R. C. (2003). Agile software development: principles, patterns, and practices. Prentice Hall PTR.
McDonough, E. F., Kahn, K. B., and Griffin, A. (1999). Managing communication in global product development teams. IEEE Transactions on Engineering Management, 46(4):375–386.
Sadowski, C., Soderberg, E., Church, L., Sipko, M., and Bacchelli, A. (2018). Modern code review: a case study at google. In Proceedings of the 40th international conference on software engineering: Software engineering in practice, pages 181–190.
Sridhara, G., Mazumdar, S., et al. (2023). Chatgpt: A study on its utility for ubiquitous software engineering tasks. arXiv preprint arXiv:2305.16837.
Wei, J., Tay, Y., Bommasani, R., Raffel, C., Zoph, B., Borgeaud, S., Yogatama, D., Bosma, M., Zhou, D., Metzler, D., et al. (2022). Emergent abilities of large language models. arXiv preprint arXiv:2206.07682.
Wessel, M., Serebrenik, A., Wiese, I., Steinmacher, I., and Gerosa, M. A. (2020). Effects of adopting code review bots on pull requests to oss projects. In 2020 IEEE international conference on software maintenance and evolution (ICSME), pages 1–11. IEEE.
Wyrich, M. and Bogner, J. (2019). Towards an autonomous bot for automatic source code refactoring. In 2019 IEEE/ACM 1st international workshop on bots in software engineering (BotSE), pages 24–28. IEEE.
Xu, F. F., Alon, U., Neubig, G., and Hellendoorn, V. J. (2022). A systematic evaluation of large language models of code. In Proceedings of the 6th ACM SIGPLAN International Symposium on Machine Programming, pages 1–10.
Publicado
29/04/2024
Como Citar
MARTINS, Gustavo; FIRMINO, Emiliandro.
Bridging the Gap in Code Reviews: A Large Language Model-based Proposal for Global Development Teams. In: SIMPÓSIO BRASILEIRO DE SISTEMAS COLABORATIVOS (SBSC), 19. , 2024, Salvador/BA.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 255-264.
ISSN 2326-2842.
DOI: https://doi.org/10.5753/sbsc.2024.237740.