Python 脚本 bug 或导致上百篇论文出错
我們知道有多種文件排序方法,比如按字典順序或按創建時間戳,我們從文件夾裡看到的文件排序通常由文件系統決定,不同的操作系統有不同的排序。2014年的一篇化學論文包含了一個Python腳本,其中有一個模塊是根據文件的排序返回值,但Python並沒有定義查詢的文件順序。
這意味著在不同的操作系統不同的文件系統上該腳本返回的值是不同的。然而科學家並非是出色的程序員,這個bug直到最近才被發現,而這篇論文被引用了158次,如果這些論文使用了相同的腳本那麼文章的結果很可能是錯誤的。
當然引用論文並不意味著會使用相同的腳本。該bug 的發現者是夏威夷大學的研究生Yuheng Luo。他在導師Rui Sun 的指導下使用該腳本驗證結果,結果發現無法匹配論文作者的結果。
在測試期間,他們發現在不同的操作系統上返回的結果是不同的。他們修正了bug,在《Organic Letters》期刊上公佈了他們的研究。