Chyba v skripte Python by mohla viesť k nesprávnym výsledkom vo viac ako 100 chemických publikáciách

Postgraduálny študent Havajskej univerzity nájdených problém v skripte Python používanom na výpočty chemický posun, ktorý určuje chemickú štruktúru skúmanej látky počas spektrálnej analýzy signálov pomocou tejto metódy nukleárna magnetická rezonancia. Pri overovaní výsledkov výskumu jedného zo svojich profesorov si jeden postgraduálny študent všimol, že pri spustení skriptu na rôznych operačných systémoch na rovnakom súbore údajov bol výstup odlišný.

Napríklad pri spustení na macOS 10.14 a Ubuntu 16.04 pre testovaný súbor údajov sa skript rozdal nesprávna hodnota 172.4 namiesto 173.2. Skript obsahuje asi 1000 riadkov kódu a chemici ho používajú od roku 2014. Preskúmanie kódu ukázalo, že výstup je nesprávny kvôli rozdiely pri triedení súborov v rôznych operačných systémoch. Autori scenára sa domnievali, že funkcia „glob()" vždy vráti súbory zoradené podľa názvu, zatiaľ čo dokumentácia glob uvádza, že poradie výstupu nie je zaručené. Opravou bolo pridanie list_of_files.sort() po volaní glob().

Chyba v skripte Python by mohla viesť k nesprávnym výsledkom vo viac ako 100 chemických publikáciách

Objavený problém spochybnil správnosť viac ako 100 publikácií o chémii, ktorých závery boli urobené na základe chemického posunu vypočítaného scenárom. Presný počet štúdií, v ktorých bolo písmo použité, nie je známe, ale publikácie s jeho kódom boli citované v 158 prácach. Autorom týchto prác sa odporúča vyhodnotiť správnosť skriptu na operačných systémoch použitých na výpočty a prepočítať ich, aby sa zabezpečilo, že vypočítané hodnoty sú správne. Incident je výborným príkladom toho, že nielen kvalita experimentu, ale aj správnosť spracovania získaných údajov v programoch, ktoré
Toto bolo široko používané môže ovplyvniť konečný výsledok.

Zdroj: opennet.ru

Pridať komentár