Python 腳本中的缺陷可能會導致 100 多種化學出版物出現錯誤結果

夏威夷大學研究生 被發現 用於計算的Python腳本中的問題 化學位移,使用此方法在訊號光譜分析過程中確定所研究物質的化學結構 核磁共振。 在驗證一位教授的研究成果時,一位研究生注意到,在不同作業系統上對同一資料集執行腳本時,輸出是不同的。

例如,當測試資料集在 macOS 10.14 和 Ubuntu 16.04 上運行時,腳本 發布 錯誤值 172.4 而不是 173.2。 該腳本包含約 1000 行程式碼,自 2014 年以來一直被化學家使用。 檢查程式碼發現輸出不正確 由於 在不同作業系統中對檔案進行排序時存在差異。 該腳本的作者認為該函數“水珠()" 總是傳回按名稱排序的文件,而 glob 文檔指出不保證輸出順序。 修復方法是在 glob() 呼叫之後新增 list_of_files.sort() 。

Python 腳本中的缺陷可能會導致 100 多種化學出版物出現錯誤結果

這個發現的問題讓人們對100多篇化學出版物的正確性產生了懷疑,這些出版物的結論都是根據腳本計算的化學位移得出的。 使用該腳本的具體研究數量尚不清楚,但有 158 篇論文引用了包含該程式碼的出版物。 建議這些作品的作者在用於計算的作業系統上評估腳本的正確性並重新計算,以確保計算值正確。 該事件是一個很好的例子,不僅證明了實驗的質量,而且還證明了程式中處理所獲得數據的正確性。
這已經被廣泛使用可能會影響最終的結果。

來源: opennet.ru

添加評論