Python skripta kļūda var izraisīt nepareizus rezultātus vairāk nekā 100 ķīmijas publikācijās

Havaju Universitātes absolvents atrasts problēma Python skriptā, ko izmanto aprēķiniem ķīmiskā maiņa, kas nosaka pētāmās vielas ķīmisko struktūru signālu spektrālās analīzes laikā, izmantojot metodi kodolmagnētiskā rezonanse. Pārbaudot viena profesora pētījumu rezultātus, kāds maģistrants pamanīja, ka, palaižot skriptu dažādās operētājsistēmās vienā datu kopā, izvade bija atšķirīga.

Piemēram, darbojoties operētājsistēmā macOS 10.14 un Ubuntu 16.04 pārbaudītajai datu kopai, skripts izdots nepareiza vērtība 172.4, nevis 173.2. Skripts ietver aptuveni 1000 koda rindiņas, un ķīmiķi to izmanto kopš 2014. gada. Koda pārbaude parādīja, ka izvade ir nepareiza līdz atšķirības, šķirojot failus dažādās operētājsistēmās. Scenārija autori uzskatīja, ka funkcija "glob()" vienmēr atgriež failus, kas sakārtoti pēc nosaukuma, savukārt globālā dokumentācija norāda, ka izvades secība netiek garantēta. Labojums bija pievienot list_of_files.sort() pēc glob() izsaukuma.

Python skripta kļūda var izraisīt nepareizus rezultātus vairāk nekā 100 ķīmijas publikācijās

Atklātā problēma radīja šaubas par vairāk nekā 100 publikāciju pareizību par ķīmiju, kuru secinājumi tika izdarīti, pamatojoties uz skripta aprēķināto ķīmisko nobīdi. Precīzs pētījumu skaits, kuros skripts tika izmantots, nav zināms, taču publikācijas ar tā kodu tika citētas 158 rakstos. Šo darbu autoriem ieteicams novērtēt skripta pareizību aprēķinos izmantotajās operētājsistēmās un tos pārrēķināt, lai pārliecinātos, ka aprēķinātās vērtības ir pareizas. Incidents ir lielisks piemērs tam, ka ne tikai eksperimenta kvalitāte, bet arī iegūto datu apstrādes pareizība programmās, kas
Tas ir plaši izmantots, var ietekmēt gala rezultātu.

Avots: opennet.ru

Pievieno komentāru