solidot新版网站常见问题,请点击这里查看。

Python 脚本 bug 或导致上百篇论文出错

科学 Python
ai (3896)发表于 2019年10月13日 22时41分 星期日

来自
我们知道有多种文件排序方法,比如按字典顺序或按创建时间戳,我们从文件夹里看到的文件排序通常由文件系统决定,不同的操作系统有不同的排序。2014 年的一篇化学论文包含了一个 Python 脚本,其中有一个模块是根据文件的排序返回值,但 Python 并没有定义查询的文件顺序。这意味着在不同的操作系统不同的文件系统上该脚本返回的值是不同的。然而科学家并非是出色的程序员,这个 bug 直到最近才被发现,而这篇论文被引用了 158 次,如果这些论文使用了相同的脚本那么文章的结果很可能是错误的。当然引用论文并不意味着会使用相同的脚本。该 bug 的发现者是夏威夷大学的研究生 Yuheng Luo。他在导师 Rui Sun 的指导下使用该脚本验证结果,结果发现无法匹配论文作者的结果。在测试期间,他们发现在不同的操作系统上返回的结果是不同的。他们修正了 bug,在《Organic Letters》期刊上公布了他们的研究