Unha falla no script de Python pode levar a resultados incorrectos en máis de 100 publicacións de química

Estudante de posgrao da Universidade de Hawai descuberto problema no script Python usado para os cálculos cambio químico, que determina a estrutura química da substancia obxecto de estudo durante a análise espectral dos sinais mediante o método resonancia magnética nuclear. Mentres verificaba os resultados da investigación dun dos seus profesores, un estudante de posgrao observou que ao executar un script en diferentes sistemas operativos no mesmo conxunto de datos, a saída era diferente.

Por exemplo, cando se executa en macOS 10.14 e Ubuntu 16.04 para o conxunto de datos probado, o script emitido valor incorrecto 172.4 en lugar de 173.2. O script inclúe preto de 1000 liñas de código e é usado polos químicos desde 2014. O exame do código mostrou que a saída é incorrecta debido a diferenzas ao clasificar ficheiros en diferentes sistemas operativos. Os autores do guión crían que a función "globo()" sempre devolve ficheiros ordenados por nome, mentres que a documentación global indica que a orde de saída non está garantida. A corrección foi engadir list_of_files.sort() despois da chamada glob().

Unha falla no script de Python pode levar a resultados incorrectos en máis de 100 publicacións de química

O problema descuberto puxo en dúbida a corrección de máis de 100 publicacións sobre química, cuxas conclusións foron feitas en base ao desprazamento químico calculado polo guión. Descoñécese o número exacto de estudos nos que se utilizou o guión, pero as publicacións co seu código foron citadas en 158 artigos. Recoméndase aos autores destes traballos avaliar a corrección do script nos sistemas operativos utilizados para os cálculos e recalcularos para garantir que os valores calculados sexan correctos. O incidente é un excelente exemplo do feito de que non só a calidade do experimento, senón tamén a corrección do procesamento dos datos obtidos en programas que
Isto foi amplamente utilizado pode afectar o resultado final.

Fonte: opennet.ru

Engadir un comentario