Ένα ελάττωμα στο σενάριο Python θα μπορούσε να οδηγήσει σε λανθασμένα αποτελέσματα σε περισσότερες από 100 δημοσιεύσεις χημείας

Πτυχιούχος φοιτητής του Πανεπιστημίου της Χαβάης ανακάλυψε πρόβλημα στο σενάριο Python που χρησιμοποιείται για υπολογισμούς χημική μετατόπιση, το οποίο καθορίζει τη χημική δομή της υπό μελέτη ουσίας κατά τη φασματική ανάλυση σημάτων χρησιμοποιώντας τη μέθοδο πυρηνικό μαγνητικό συντονισμό. Κατά την επαλήθευση των αποτελεσμάτων της έρευνας ενός από τους καθηγητές του, ένας μεταπτυχιακός φοιτητής παρατήρησε ότι όταν εκτελούσε ένα σενάριο σε διαφορετικά λειτουργικά συστήματα στο ίδιο σύνολο δεδομένων, η έξοδος ήταν διαφορετική.

Για παράδειγμα, όταν εκτελείται σε macOS 10.14 και Ubuntu 16.04 για το δοκιμασμένο σύνολο δεδομένων, το σενάριο εκδόθηκε λανθασμένη τιμή 172.4 αντί για 173.2. Το σενάριο περιλαμβάνει περίπου 1000 γραμμές κώδικα και χρησιμοποιείται από χημικούς από το 2014. Η εξέταση του κωδικού έδειξε ότι η έξοδος είναι λανθασμένη εξαιτίας διαφορές κατά την ταξινόμηση αρχείων σε διαφορετικά λειτουργικά συστήματα. Οι συγγραφείς του σεναρίου πίστευαν ότι η λειτουργία "glob()"Πάντα επιστρέφει αρχεία ταξινομημένα κατά όνομα, ενώ η σφαιρική τεκμηρίωση αναφέρει ότι η σειρά εξόδου δεν είναι εγγυημένη. Η επιδιόρθωση ήταν η προσθήκη list_of_files.sort() μετά την κλήση glob().

Ένα ελάττωμα στο σενάριο Python θα μπορούσε να οδηγήσει σε λανθασμένα αποτελέσματα σε περισσότερες από 100 δημοσιεύσεις χημείας

Το πρόβλημα που ανακαλύφθηκε έθεσε αμφιβολίες για την ορθότητα περισσότερων από 100 δημοσιεύσεων για τη χημεία, τα συμπεράσματα των οποίων έγιναν με βάση τη χημική μετατόπιση που υπολογίστηκε από το σενάριο. Ο ακριβής αριθμός των μελετών στις οποίες χρησιμοποιήθηκε το σενάριο είναι άγνωστος, αλλά δημοσιεύσεις με τον κωδικό του αναφέρθηκαν σε 158 εργασίες. Συνιστάται στους συγγραφείς αυτών των εργασιών να αξιολογήσουν την ορθότητα του σεναρίου στα λειτουργικά συστήματα που χρησιμοποιούνται για τους υπολογισμούς και να τα υπολογίσουν εκ νέου, προκειμένου να διασφαλίσουν ότι οι υπολογισμένες τιμές είναι σωστές. Το περιστατικό είναι ένα εξαιρετικό παράδειγμα του γεγονότος ότι όχι μόνο η ποιότητα του πειράματος, αλλά και η ορθότητα της επεξεργασίας των δεδομένων που λαμβάνονται σε προγράμματα που
Αυτό έχει χρησιμοποιηθεί ευρέως μπορεί να επηρεάσει το τελικό αποτέλεσμα.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο