Doktorand na Havajské univerzitě problém v Python skriptu, který se používá pro výpočty , který určuje chemickou strukturu zkoumané látky při spektroskopické analýze signálů pomocí . Během ověřování výsledků výzkumu jednoho ze svých profesorů si doktorand všimnul, že při spuštění skriptu v různých operačních systémech na stejném souboru dat byly výstupy odlišné.
Například při spuštění na macOS 10.14 a Ubuntu 16.04 pro testovaný soubor dat skript nesprávnou hodnotu 172.4 místo 173.2. Skript obsahuje přibližně 1000 řádků kódu a chemici ho používají od roku 2014. Zkoumání kódu ukázalo, že výstup nesprávné hodnoty rozdíly v řazení souborů v různých operačních systémech. Autoři skriptu se domnívali, že funkce „“ vždy vrací soubory, seřazené podle jména, zatímco v dokumentaci k glob je uvedeno, že pořadí výstupu není zaručeno. Oprava spočívala v přidání list_of_files.sort() po volání glob().
Zjištěný problém zpochybnil správnost více než 100 publikací v oblasti chemie, jejichž závěry byly učiněny na základě výpočtu chemického posunu skriptem. Přesný počet studií, ve kterých byl skript použit, není znám, ale publikace s jeho kódem byla citována v 158 pracích. Autorům těchto prací bylo doporučeno posoudit správnost fungování skriptu ve vyhodnocených operačních systémech a provést přepočet, aby se ujistili o správnosti vypočítaných hodnot. Tento incident je vynikajícím příkladem toho, že nejen kvalita provedeného experimentu, ale i správnost zpracování získaných dat v programech, které byly do té doby široce používány, může ovlivnit konečný výsledek.
Doktorand na Havajské univerzitě objevil problém ve.
Zdroj: opennet.ru
