摘要

R语言提供了多种统计计算的功能,并被认为是最适合人工智能领域的程序设计语言之一。语言功能的正确实现是R语言程序正确运行的必要前提,但R语言中不可避免地存在着诸多软件缺陷。文中对R语言及其核心包中的历史缺陷进行了实证研究。通过分析R语言及其核心包中的7 020个缺陷报告发现:1)缺陷所涉及的35个R语言版本中R 3.1.2,R 3.0.2,R 3.5.0所含缺陷的数量较多,这些缺陷大量分布于Documentation, Graphics, Language等少数组件中;2)缺陷优先级整体较高的组件依次是Startup, Installation和Analyses,缺陷严重程度整体较高的组件依次是I/O,Installation和Accuracy,缺陷的优先级和严重性之间存在中等强度的秩相关;3)约78%的缺陷可在一年之内被修复;4)语义错误是缺陷最常见的根本原因,其中缺少功能和数据处理错误在各个阶段均占有较高的比例。这些发现揭示了R语言及其核心包中历史缺陷的一些基本规律,可在一定程度上帮助R语言开发人员提高开发质量,帮助R语言维护人员更高效地检测和修复缺陷,并帮助R语言的使用者规避潜在风险。