Napaka v skriptu Python bi lahko povzročila napačne rezultate v več kot 100 kemijskih publikacijah

Podiplomski študent Univerze na Havajih odkril težava v skriptu Python, ki se uporablja za izračune kemični premik, ki med spektralno analizo signalov z metodo določa kemijsko strukturo preučevane snovi jedrska magnetna resonanca. Med preverjanjem rezultatov raziskave enega od svojih profesorjev je podiplomski študent opazil, da je bil izhod pri izvajanju skripta v različnih operacijskih sistemih na istem nizu podatkov drugačen.

Na primer, pri izvajanju v sistemih macOS 10.14 in Ubuntu 16.04 za testirani nabor podatkov skript izdala nepravilna vrednost 172.4 namesto 173.2. Skript vključuje približno 1000 vrstic kode in ga kemiki uporabljajo od leta 2014. Pregled kode je pokazal, da izhod ni pravilen pogojeno z razlike pri razvrščanju datotek v različnih operacijskih sistemih. Avtorji scenarija so verjeli, da je funkcija "glob ()" vedno vrne datoteke, razvrščene po imenu, medtem ko dokumentacija glob navaja, da izhodni vrstni red ni zajamčen. Popravek je bil dodati list_of_files.sort() po klicu glob().

Napaka v skriptu Python bi lahko povzročila napačne rezultate v več kot 100 kemijskih publikacijah

Odkrita težava je dvomila o pravilnosti več kot 100 objav o kemiji, katerih zaključki so bili narejeni na podlagi kemijskega premika, izračunanega s skripto. Natančno število raziskav, v katerih je bila uporabljena pisava, ni znano, vendar so bile objave z njeno kodo navedene v 158 člankih. Avtorjem teh del priporočamo, da ocenijo pravilnost skripta v operacijskih sistemih, uporabljenih za izračune, in jih ponovno izračunajo, da zagotovijo pravilnost izračunanih vrednosti. Incident je odličen primer tega, da ni večja le kakovost eksperimenta, temveč tudi pravilnost obdelave pridobljenih podatkov v programih, ki
To se pogosto uporablja, lahko vpliva na končni rezultat.

Vir: opennet.ru

Dodaj komentar