Błąd w skrypcie Python mógł prowadzić do błędnych wyników w ponad 100 publikacjach dotyczących chemii.

Doktorant Uniwersytetu Hawajskiego odnalazł problem w skrypcie Python, używanym do obliczeń przesunięcia chemicznego, które określa chemiczną strukturę badanej substancji przy analizy sygnałów spektroskopowych metodą rezonansu magnetycznego jądra. Podczas weryfikacji wyników badań jednego ze swoich profesorów doktorant zauważył, że przy wykonywaniu skryptu w różnych systemach operacyjnych na tym samym zestawie danych, wyniki były różne.

Na przykład, uruchamiając go w macOS 10.14 i Ubuntu 16.04 dla przetestowanego zestawu danych, skrypt zwracał niewłaściwą wartość 172.4 zamiast 173.2. Skrypt zawiera około 1000 linii kodu i jest używany przez chemików od 2014 roku. Analiza kodu wykazała, że zwracanie nieprawidłowej wartości było spowodowane różnicami w sortowaniu plików w różnych systemach operacyjnych. Autorzy skryptu zakładali, że funkcja „glob()zawsze zwraca pliki posortowane po nazwie, podczas gdy w dokumentacji glob podano, że kolejność wyjściowa nie jest gwarantowana. Poprawka polegała na dodaniu list_of_files.sort() po wywołaniu glob().

Błąd w skrypcie Python mógł prowadzić do błędnych wyników w ponad 100 publikacjach dotyczących chemii.

Zidentyfikowany problem podważył poprawność ponad 100 publikacji naukowych w dziedzinie chemii, których wnioski opierały się na obliczonym przy użyciu skryptu przesunięciu chemicznym. Dokładna liczba badań, w których użyto skryptu, jest nieznana, ale publikacja zawierająca jego kod została zacytowana w 158 pracach. Autorzy tych prac zostali zachęceni do oceny poprawności działania skryptu na zastosowanych do obliczeń systemach operacyjnych oraz do przeprowadzenia ponownego obliczenia, aby upewnić się o poprawności uzyskanych wartości. Incydent jest doskonałym przykładem, że nie tylko jakość przeprowadzonych eksperymentów, ale i poprawność przetwarzania uzyskanych danych w programach, które wcześniej
były powszechnie używane, może wpłynąć na końcowy wynik.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster