Pythoni skripti puudus võis viia valede tulemusteni enam kui 100 keemia publikatsioonis

Hawaii ülikooli doktorant avastas Pythoni skripti probleem, mida kasutatakse arvutuste jaoks keemilise nihke, mis määrab uuritava aine keemilise struktuuri spectraalsete analüüsisignaalide meetodiga nukleaars-magnetresonantsi. Ühe oma professorite uuringute tulemuste verifitseerimise käigus märkis doktorant, et skripti käivitamisel erinevates operatsioonisüsteemides sama andmekogumi puhul saadi erinev tulemus.

Näiteks, kui käivitati macOS 10.14 ja Ubuntu 16.04, andis testitud andmekogumi jaoks skript väljastas vale väärtuse 172.4 asemel 173.2. Skript sisaldab umbes 1000 rida koodi ja on kasutusel keemikute poolt alates 2014. aastast. Koodi uurimine näitas, et vale väärtuse väljastamine oli tingitud failide sorteerimise erinevustest erinevates operatsioonisüsteemides. Skripti autorid arvasid, et funktsioon "glob()" tagastab alati failid, mis on järjestatud nime järgi, samas kui glob dokumentatsioonis on märgitud, et väljastamise järjekord ei ole garanteeritud. Probleemi lahendamine seisnes list_of_files.sort() lisamises pärast glob() kutset.

Pythoni skripti puudus võis viia valede tulemusteni enam kui 100 keemia publikatsioonis

Leitud probleem tõi kahtluse alla enam kui 100 keemia publikatsiooni korrektsuse, mille järeldused põhinesid arvutatud skripti keemilisel nihkel. Ei ole teada täpset uurimiste arvu, kus skripti kasutati, kuid selle kodeeritud publikatsioon on viidatud 158 töösse. Nende tööde autoritele soovitati hinnata skripti töökorrasolekut rakendatud arvutisüsteemides ja teha ümberarvestus, et veenduda arvutatud väärtuste õigsuses. See juhtum on suurepärane näide sellest, et mitte ainult eksperimendi kvaliteet, vaid ka saadud andmete korrektne töötlemine programmides, mida on varem laialdaselt kasutatud, võib mõjutada lõpptulemust.
Too peamine probleem.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster