当前位置: X-MOL 学术ACM Trans. Program. Lang. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the Impact of Programming Languages on Code Quality
ACM Transactions on Programming Languages and Systems ( IF 1.5 ) Pub Date : 2019-10-15 , DOI: 10.1145/3340571
Emery D. Berger 1 , Celeste Hollenbeck 2 , Petr Maj 3 , Olga Vitek 2 , Jan Vitek 4
Affiliation  

In a 2014 article, Ray, Posnett, Devanbu, and Filkov claimed to have uncovered a statistically significant association between 11 programming languages and software defects in 729 projects hosted on GitHub. Specifically, their work answered four research questions relating to software defects and programming languages. With data and code provided by the authors, the present article first attempts to conduct an experimental repetition of the original study. The repetition is only partially successful, due to missing code and issues with the classification of languages. The second part of this work focuses on their main claim, the association between bugs and languages, and performs a complete, independent reanalysis of the data and of the statistical modeling steps undertaken by Ray et al. in 2014. This reanalysis uncovers a number of serious flaws that reduce the number of languages with an association with defects down from 11 to only 4. Moreover, the practical effect size is exceedingly small. These results thus undermine the conclusions of the original study. Correcting the record is important, as many subsequent works have cited the 2014 article and have asserted, without evidence, a causal link between the choice of programming language for a given task and the number of software defects. Causation is not supported by the data at hand; and, in our opinion, even after fixing the methodological flaws we uncovered, too many unaccounted sources of bias remain to hope for a meaningful comparison of bug rates across languages.

中文翻译:

关于编程语言对代码质量的影响

在 2014 年的一篇文章中,Ray、Posnett、Devanbu 和 Filkov 声称在 GitHub 上托管的 729 个项目中发现了 11 种编程语言与软件缺陷之间的统计显着关联。具体来说,他们的工作回答了与软件缺陷和编程语言相关的四个研究问题。利用作者提供的数据和代码,本文首先尝试对原始研究进行实验重复。由于缺少代码和语言分类问题,重复只是部分成功。这项工作的第二部分侧重于他们的主要主张,即错误和语言之间的关联,并对数据和 Ray 等人进行的统计建模步骤进行完整、独立的重新分析。2014 年。这次重新分析发现了许多严重的缺陷,这些缺陷将与缺陷相关的语言数量从 11 种减少到只有 4 种。此外,实际效果非常小。因此,这些结果破坏了原始研究的结论。更正记录很重要,因为许多后续工作都引用了 2014 年的文章,并且在没有证据的情况下断言,给定任务的编程语言选择与软件缺陷数量之间存在因果关系。手头的数据不支持因果关系;而且,在我们看来,即使在修复了我们发现的方法缺陷之后,仍有太多无法解释的偏见来源希望对跨语言的错误率进行有意义的比较。实际效果规模极小。因此,这些结果破坏了原始研究的结论。更正记录很重要,因为许多后续工作都引用了 2014 年的文章,并且在没有证据的情况下断言,给定任务的编程语言选择与软件缺陷数量之间存在因果关系。手头的数据不支持因果关系;而且,在我们看来,即使在修复了我们发现的方法缺陷之后,仍有太多无法解释的偏见来源希望对跨语言的错误率进行有意义的比较。实际效果规模极小。因此,这些结果破坏了原始研究的结论。更正记录很重要,因为许多后续工作都引用了 2014 年的文章,并且在没有证据的情况下断言,给定任务的编程语言选择与软件缺陷数量之间存在因果关系。手头的数据不支持因果关系;而且,在我们看来,即使在修复了我们发现的方法缺陷之后,仍有太多无法解释的偏见来源希望对跨语言的错误率进行有意义的比较。给定任务的编程语言选择与软件缺陷数量之间的因果关系。手头的数据不支持因果关系;而且,在我们看来,即使在修复了我们发现的方法缺陷之后,仍有太多无法解释的偏见来源希望对跨语言的错误率进行有意义的比较。给定任务的编程语言选择与软件缺陷数量之间的因果关系。手头的数据不支持因果关系;而且,在我们看来,即使在修复了我们发现的方法缺陷之后,仍有太多无法解释的偏见来源希望对跨语言的错误率进行有意义的比较。
更新日期:2019-10-15
down
wechat
bug