Pythoni skripti viga võib viia valede tulemusteni enam kui 100 keemiaväljaandes

Hawaii ülikooli magistrant leitud probleem arvutustes kasutatavas Pythoni skriptis keemiline nihe, mis määrab meetodi abil signaalide spektraalanalüüsi käigus uuritava aine keemilise struktuuri tuumamagnetresonants. Ühe oma professori uurimistulemusi kontrollides märkas kraadiõppur, et skripti käivitamisel erinevates operatsioonisüsteemides samas andmekogumis oli väljund erinev.

Näiteks kui töötate testitud andmekogumi jaoks operatsioonisüsteemides macOS 10.14 ja Ubuntu 16.04, siis skript välja antud vale väärtus 172.4 asemel 173.2. Skript sisaldab umbes 1000 koodirida ja keemikud on seda kasutanud alates 2014. aastast. Koodi uurimine näitas, et väljund on vale tõttu erinevused failide sortimisel erinevates operatsioonisüsteemides. Stsenaariumi autorid uskusid, et funktsioon "glob()" tagastab alati nimede järgi sorteeritud failid, samas kui globaalse dokumentatsiooni kohaselt pole väljundi järjekord garanteeritud. Parandus oli, et pärast glob() kutset lisati failide_nimekiri.sort().

Pythoni skripti viga võib viia valede tulemusteni enam kui 100 keemiaväljaandes

Avastatud probleem seadis kahtluse alla enam kui 100 keemiaalase publikatsiooni õigsuse, mille järeldused tehti skripti järgi arvutatud keemilise nihke põhjal. Uuringute täpne arv, milles skripti kasutati, ei ole teada, kuid selle koodiga väljaandeid viidati 158 artiklis. Nende tööde autoritel soovitatakse hinnata skripti õigsust arvutustes kasutatud operatsioonisüsteemides ja need ümber arvutada, et tagada arvutatud väärtuste õigsus. Juhtum on suurepärane näide sellest, et mitte ainult katse kvaliteet, vaid ka saadud andmete töötlemise korrektsus programmides, mis
Seda on laialdaselt kasutatud, see võib lõpptulemust mõjutada.

Allikas: opennet.ru

Lisa kommentaar