Una fallada en l'script de Python podria provocar resultats incorrectes en més de 100 publicacions de química

Estudiant de postgrau de la Universitat de Hawaii descobert problema a l'script Python utilitzat per als càlculs desplaçament químic, que determina l'estructura química de la substància en estudi durant l'anàlisi espectral de senyals mitjançant el mètode ressonància magnètica nuclear. Mentre verificava els resultats de la investigació d'un dels seus professors, un estudiant graduat es va adonar que quan s'executava un script en diferents sistemes operatius en el mateix conjunt de dades, la sortida era diferent.

Per exemple, quan s'executa a macOS 10.14 i Ubuntu 16.04 per al conjunt de dades provat, l'script emès valor incorrecte 172.4 en lloc de 173.2. L'script inclou unes 1000 línies de codi i ha estat utilitzat pels químics des del 2014. L'examen del codi va mostrar que la sortida és incorrecta degut a diferències a l'hora d'ordenar fitxers en diferents sistemes operatius. Els autors del guió creien que la funció "glob()" sempre retorna fitxers ordenats per nom, mentre que la documentació global indica que l'ordre de sortida no està garantit. La solució va ser afegir list_of_files.sort() després de la trucada glob().

Una fallada en l'script de Python podria provocar resultats incorrectes en més de 100 publicacions de química

El problema descobert va posar en dubte la correcció de més de 100 publicacions sobre química, les conclusions de les quals es van fer sobre la base del canvi químic calculat pel guió. Es desconeix el nombre exacte d'estudis en què es va utilitzar el guió, però les publicacions amb el seu codi es van citar en 158 articles. Es recomana als autors d'aquests treballs que avaluïn la correcció de l'script en els sistemes operatius utilitzats per als càlculs i que els tornin a calcular per assegurar-se que els valors calculats són correctes. L'incident és un excel·lent exemple del fet que no només la qualitat de l'experiment, sinó també la correcció del processament de les dades obtingudes en programes que
Això s'ha utilitzat àmpliament pot afectar el resultat final.

Font: opennet.ru

Afegeix comentari