AICodeReview: Uma Ferramenta para Revisão de Código por Meio de Inteligência Artificial

  • Yonatha Almeida IFPB
  • Danyllo W. Albuquerque IFPB / UFCG
  • Mirko Perkusich UFCG
  • Katyusco de Farias Santos IFPB

Resumo


Este artigo apresenta um estudo sobre o uso de inteligência artificial (IA) na revisão de código com o objetivo de melhorar a qualidade e a eficiência dessa atividade. Para isso, desenvolveu-se um plugin para o IntelliJ IDEA utilizando o ChatGPT como base para a revisão automatizada de código. A ferramenta realiza análise de trechos de código para identificar problemas de sintaxe e semântica, sugerindo possíveis soluções. Como resultado, demonstra-se os detalhes arquiteturais, o modo de configuração e cenários de uso da ferramenta na detecção de erros de lógica e problemas de sintaxe. Conclui-se que a utilização de tecnologias de IA pode ser uma maneira eficiente de reduzir o tempo e o esforço necessários para realizar a revisão de código, contribuindo para melhoria da qualidade do software.

Referências

Albuquerque, D., Guimarães, E., Braga, A., Perkusich, M., Almeida, H., and Perkusich, A. (2022a). Empirical assessment on interactive detection of code smells. In 2022 International Conference on Software, Telecommunications and Computer Networks (SoftCOM), pages 1–6. IEEE.

Albuquerque, D., Guimaraes, E., Perkusich, M., Almeida, H., and Perkusich, A. (2022b). Concad: A tool for interactive detection of code anomalies. In Anais do X Workshop de Visualização, Evolução e Manutenção de Software, pages 31–35. SBC.

Albuquerque, D., Guimarães, E., Tonin, G., Rodriguez, P., Perkusich, M., Almeida, H., Perkusich, A., and Chagas, F. (2022c). Managing technical debt using intelligent techniques-a systematic mapping study. IEEE Transactions on Software Engineering.

Arora, S., Ge, R., and Ma, T. (2021). A survey of ai for code review. Communications of the ACM, 64(3):64–71.

Bacchelli, A. and Bird, C. (2013). Review practices in software development. IEEE Software, 30(5):96–96.

Breault, J. (2017). Mastering IntelliJ IDEA. Packt Publishing.

Chen, T., Huang, L., Wang, X., Peng, X., and Zhou, P. (2018). A review of machine learning applications in software development. Journal of Computer Science and Technology, 33(4):545–563.

Gupta, A., Jain, H., Agrawal, D., and Vyas, O. (2020). Evaluating chatbot performance in software development peer review. In 2020 IEEE 30th International Workshop on Machine Learning for Signal Processing (MLSP), pages 1–6. IEEE.

Hartmann, M. (2020). Intellij idea: A powerful and extensible ide for jvm-based development. In Proceedings of the 14th European Conference on Software Architecture: Companion Proceedings.

Jiang, L., Misherghi, G., Su, Z., and Glondu, S. (2011). Automatic code review using a rule-based approach. In 2011 IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 449–452. IEEE.

Li, C. and Li, X. (2018). A machine learning approach to software code review. Information and Software Technology, 99:24–34.

Nagappan, N., Vouk, M., and Sitaraman, R. (2014). Code review guided by static analysis and machine learning. IEEE Software, 31(2):64–71.

Rigby, P. C. (2014). Peer reviews in software: A practical guide. IEEE Software, 31(3):74–81.

Sadowski, C. and Grechanik, M. (2016). Improving code review quality using machine learning. IEEE Software, 33(3):56–63.

Singh, N. K. and Kumar, R. (2019). Automated code review using machine learning techniques: A systematic review. Journal of Systems and Software, 157:110396.

Tian, Y., Zhang, W., and Chen, T. (2020). A survey on artificial intelligence techniques for software development. Journal of Systems and Software, 161:110464.

Tizard, J. and Liu, K. (2018). A review of automated code review approaches. Journal of Systems and Software, 144:306–325.

Wang, P., Liu, X., and Zhang, H. (2018). Deep code review. IEEE Software, 35(2):34–40.

Zhang, H., Liao, S., and Wang, T. (2018). Deep code comment generation. In Proceedings of the 2018 International Conference on Software Engineering: Software Engineering in Practice, pages 56–63. ACM.
Publicado
06/08/2023
ALMEIDA, Yonatha; ALBUQUERQUE, Danyllo W.; PERKUSICH, Mirko; SANTOS, Katyusco de Farias. AICodeReview: Uma Ferramenta para Revisão de Código por Meio de Inteligência Artificial. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HARDWARE (SEMISH), 50. , 2023, João Pessoa/PB. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 203-213. ISSN 2595-6205. DOI: https://doi.org/10.5753/semish.2023.230568.