Een fout in het Python-script kan leiden tot onjuiste resultaten in meer dan 100 scheikundige publicaties

Afgestudeerde student van de Universiteit van HawaΓ― gevonden probleem in het Python-script dat wordt gebruikt voor berekeningen chemische verschuiving, die de chemische structuur van de onderzochte stof bepaalt tijdens spectrale analyse van signalen met behulp van de methode nucleaire magnetische resonantie. Terwijl hij de onderzoeksresultaten van een van zijn professoren verifieerde, merkte een afgestudeerde student dat wanneer een script op verschillende besturingssystemen op dezelfde dataset werd uitgevoerd, de output anders was.

Wanneer u bijvoorbeeld op macOS 10.14 en Ubuntu 16.04 draait voor de geteste dataset, kan het script uitgegeven onjuiste waarde 172.4 in plaats van 173.2. Het script bevat ongeveer 1000 regels code en wordt sinds 2014 door scheikundigen gebruikt. Onderzoek van de code toonde aan dat de uitvoer onjuist is vanwege verschillen bij het sorteren van bestanden in verschillende besturingssystemen. De auteurs van het script waren van mening dat de functie "klodder()" retourneert altijd bestanden gesorteerd op naam, terwijl in de glob-documentatie staat dat de uitvoervolgorde niet gegarandeerd is. De oplossing was om list_of_files.sort() toe te voegen na de glob()-aanroep.

Een fout in het Python-script kan leiden tot onjuiste resultaten in meer dan 100 scheikundige publicaties

Het ontdekte probleem deed twijfel rijzen over de juistheid van meer dan honderd publicaties over scheikunde, waarvan de conclusies werden getrokken op basis van de door het script berekende chemische verschuiving. Het exacte aantal onderzoeken waarin het script werd gebruikt is onbekend, maar publicaties met de code ervan werden in 100 artikelen geciteerd. De auteurs van deze werken wordt aanbevolen om de juistheid van het script op de besturingssystemen die voor de berekeningen worden gebruikt te evalueren en deze opnieuw te berekenen om ervoor te zorgen dat de berekende waarden correct zijn. Het incident is een uitstekend voorbeeld van het feit dat niet alleen de kwaliteit van het experiment, maar ook de juistheid van de verwerking van de verkregen gegevens in programma’s die
Dit is op grote schaal gebruikt en kan het eindresultaat beΓ―nvloeden.

Bron: opennet.ru

Voeg een reactie