Uno studente di dottorato dell'università delle Hawaii un problema nello script Python utilizzato per i calcoli , che determina la struttura chimica della sostanza in esame durante l'analisi spettrale dei segnali mediante . Durante la verifica dei risultati delle ricerche di uno dei suoi professori, lo studente ha notato che, eseguendo lo script su diversi sistemi operativi con lo stesso set di dati, i risultati ottenuti erano diversi.
Ad esempio, eseguendo su macOS 10.14 e Ubuntu 16.04, per il set di dati testato, lo script un valore errato di 172.4 invece di 173.2. Lo script comprende circa 1000 righe di codice ed è utilizzato da chimici dal 2014. L'analisi del codice ha rivelato che l'uscita del valore errato da differenze nell'ordinamento dei file sui diversi sistemi operativi. Gli autori dello script credevano che la funzione «» restituisca sempre i file ordinati per nome, mentre nella documentazione di glob è specificato che l'ordine di uscita non è garantito. La correzione è consistita nell'aggiungere list_of_files.sort() dopo la chiamata a glob().
Il problema scoperto ha messo in dubbio la correttezza di oltre 100 pubblicazioni di chimica, le cui conclusioni sono state formulate sulla base del trasferimento chimico calcolato dallo script. Il numero esatto di ricerche in cui è stato utilizzato lo script è sconosciuto, ma la pubblicazione con il suo codice è stata citata in 158 lavori. Gli autori di tali lavori sono stati invitati a valutare la correttezza dell'operato dello script nei sistemi operativi utilizzati per i calcoli e a effettuare ricalcoli per assicurarsi che i valori calcolati fossero corretti. L'incidente è un ottimo esempio di come non solo la qualità della conduzione degli esperimenti, ma anche la correttezza dell'elaborazione dei dati ottenuti nei programmi che sono stati
in precedenza utilizzati ovunque, possano influenzare il risultato finale.
Fonte: opennet.ru
