DABCheck: Um Plugin para Detecção de Mudanças Disruptivas em Argumentos-Padrão de Bibliotecas Python - Barros, Gabriel Lima; Bicalho, João Vítor; Montandon, João Eduardo (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2025)
No ecossistema Python, os valores-padrão são amplamente utilizados para simplificar o uso de métodos e funções em APIs. Esse recurso permite que métodos sejam chamados sem a necessidade de especificar todos os argumentos, atribuindo automaticamente valores-padrão aos argumentos omitidos. Acontece que, ao modificar o valor-padrão de um argumento, o comportamento dos clientes que dependem deste valor-padrão também são afetados. Essa mudança disruptiva é conhecida como Default Argument Breaking Change (DABC). Neste artigo, apresentamos o DABCheck, um plugin para detectar chamadas de métodos expostas a DABCs. Desenvolvido para as IDEs PyCharm e Visual Studio Code, o plugin funciona como um linter, analisando o código-fonte em tempo real e destacando chamadas vulneráveis. Atualmente, ele suporta a detecção de DABCs em três bibliotecas Python: Scikit-Learn, NumPy e Pandas. O artigo detalha as funcionalidades do plugin, sua arquitetura em cada IDE, e apresenta um exemplo de uso. Demo Video: https://youtu.be/Ht_oRvqnsFs .