Аспирант на Хавайския университет проблема в скрипта на Python, използван за изчисления , който определя химическата структура на изследваното вещество при спектрален анализ на сигналите с помощта на . По време на верификацията на резултатите от изследванията на един от своите професори, аспирантът забеляза, че при изпълнението на скрипта в различни операционни системи с един и същи набор от данни, резултатите се различават.
Например, при стартиране в macOS 10.14 и Ubuntu 16.04, скриптът некоректна стойност 172.4 вместо 173.2. Скриптът съдържа около 1000 реда код и се използва от химици от 2014 година. Изследването на кода показа, че неправилното изкарване на стойността от разликите в подреждането на файловете в различните операционни системи. Авторите на скрипта смятали, че функцията „винаги връща файлове, подредени по име, докато в документацията на glob е посочено, че редът на изхода не е гарантиран. Корекцията се състои в добавяне на list_of_files.sort() след извикването на glob().
Откритата проблема постави под съмнение коректността на повече от 100 публикации в областта на химията, чиито изводи са направени на базата на изчисления с помощта на скрипта за химичен сдвиг. Точният брой на изследванията, в които е използван скриптът, не е известен, но публикацията с кода му е цитирана в 158 работи. На авторите на тези работи е препоръчано да оценят коректността на работата на скрипта в използваните за изчисления операционни системи и да извършат повторно изчисление, за да се уверят в правилността на изчислените стойности. Инцидентът е отличен пример за това, че не само качеството на провеждането на експеримента, но и коректността на обработката на получените данни в програмите, които преди това са били широко използвани, могат да повлияят на крайния резултат.
Аспирантът на Хавайския университет откри проблема в.
Източник: opennet.ru
