Ang isang depekto sa script ng Python ay maaaring humantong sa mga maling resulta sa higit sa 100 mga publikasyong kimika

Unibersidad ng Hawaii Graduate Student natagpuan problema sa script ng Python na ginagamit para sa mga kalkulasyon pagbabago ng kemikal, na tumutukoy sa chemical structure ng substance na pinag-aaralan sa panahon ng spectral analysis ng mga signal gamit ang pamamaraan nuclear magnetic resonance. Habang bini-verify ang mga resulta ng pananaliksik ng isa sa kanyang mga propesor, napansin ng isang nagtapos na estudyante na kapag nagpapatakbo ng script sa iba't ibang operating system sa parehong set ng data, iba ang output.

Halimbawa, kapag tumatakbo sa macOS 10.14 at Ubuntu 16.04 para sa nasubok na dataset, ang script inisyu maling halaga 172.4 sa halip na 173.2. Kasama sa script ang humigit-kumulang 1000 linya ng code at ginamit ng mga chemist mula noong 2014. Ang pagsusuri sa code ay nagpakita na ang output ay hindi tama kinondisyon ng mga pagkakaiba kapag nag-uuri ng mga file sa iba't ibang mga operating system. Naniniwala ang mga may-akda ng script na ang function na "glob()" palaging nagbabalik ng mga file na pinagsunod-sunod ayon sa pangalan, samantalang ang glob documentation ay nagsasaad na ang pagkakasunud-sunod ng output ay hindi ginagarantiyahan. Ang pag-aayos ay upang magdagdag ng list_of_files.sort() pagkatapos ng glob() na tawag.

Ang isang depekto sa script ng Python ay maaaring humantong sa mga maling resulta sa higit sa 100 mga publikasyong kimika

Ang natuklasang problema ay nagdulot ng pagdududa sa kawastuhan ng higit sa 100 publikasyon sa kimika, ang mga konklusyon ay ginawa batay sa pagbabago ng kemikal na kinakalkula ng script. Ang eksaktong bilang ng mga pag-aaral kung saan ginamit ang script ay hindi alam, ngunit ang mga publikasyon kasama ang code nito ay binanggit sa 158 na mga papel. Ang mga may-akda ng mga gawang ito ay inirerekomenda na suriin ang kawastuhan ng script sa mga operating system na ginamit para sa mga kalkulasyon at muling kalkulahin ang mga ito upang matiyak na tama ang mga kinakalkula na halaga. Ang insidente ay isang mahusay na halimbawa ng katotohanan na hindi lamang ang kalidad ng eksperimento, kundi pati na rin ang kawastuhan ng pagproseso ng nakuhang data sa mga programa na
Ito ay malawakang ginagamit ay maaaring makaapekto sa huling resulta.

Pinagmulan: opennet.ru

Magdagdag ng komento