中文

Python与R数据分析程序中的缺陷特征研究

软件工程 2023-06-16 v1

摘要

R和Python是许多关键数据分析任务中最流行的语言之一。然而,我们仍未能充分理解这两种语言在数据分析任务中所遇缺陷方面的特性。哪些类型的缺陷常见?主要根因是什么?缺陷与根因之间有何关系?如何缓解这些缺陷?我们通过对5068条Stack Overflow帖子、来自GitHub仓库的1800个缺陷修复提交,以及最常用库的若干GitHub问题进行全面研究,以理解R和Python中的缺陷。我们的关键发现包括:尽管R和Python都存在因缺乏数据分析经验导致的缺陷,但Python的数据预处理缺陷显著多于R。开发者在R中经历的数据流缺陷显著更多,因为中间结果通常是隐式的。我们还发现,R中由包和库的变更及缺陷引起的缺陷多于Python,而包或库误选与冲突在Python中引起的缺陷多于R。尽管R对数据分析者存在略高的可读性障碍,但R的统计能力导致不良性能缺陷数量较少。在数据可视化方面,R包的缺陷显著多于Python库。我们还识别出R与Python中可比较包之间的强相关性,尽管二者在语言和方法论上存在差异。最后,我们贡献了一个经人工验证的大规模R与Python缺陷数据集。

关键词

引用

@article{arxiv.2306.08632,
  title  = {Characterizing Bugs in Python and R Data Analytics Programs},
  author = {Shibbir Ahmed and Mohammad Wardat and Hamid Bagheri and Breno Dantas Cruz and Hridesh Rajan},
  journal= {arXiv preprint arXiv:2306.08632},
  year   = {2023}
}