中文

揭开1+2个数据科学库中默认参数破坏性变更的面纱

软件工程 2025-04-17 v2

摘要

数据科学(DS)已成为现代软件的基石,使数据驱动的决策得以改善公司服务。遵循现代软件开发实践,数据科学家使用第三方库来支持其任务。由于这些工具提供的API通常需要设置广泛的参数列表,数据科学家依赖默认值来简化使用。事实证明,这些默认值会随时间变化,导致一种特定类型的破坏性变更,定义为默认参数破坏性变更(DABC)。本工作揭示了三个在数据科学任务中频繁使用的Python库——Scikit Learn、NumPy和Pandas——中的93个DABC,研究了它们对超过50万个客户端应用的潜在影响。我们发现DABC的发生频率因库而异;35%的Scikit Learn客户端受到影响,而仅有0.13%的NumPy客户端受到影响。引入DABC的主要原因是为了增强API可维护性,但它们往往会改变函数的行为。我们讨论了管理第三方DS库中DABC的重要性,并为开发者提供了缓解这些变化对其应用潜在影响的见解。

关键词

引用

@article{arxiv.2408.05129,
  title  = {Unboxing Default Argument Breaking Changes in 1 + 2 Data Science Libraries},
  author = {João Eduardo Montandon and Luciana Lourdes Silva and Cristiano Politowski and Daniel Prates and Arthur de Brito Bonifácio and Ghizlane El Boussaidi},
  journal= {arXiv preprint arXiv:2408.05129},
  year   = {2025}
}

备注

Accepted at Journal of Systems and Software