4 Times Λογισμικό Screwed Us Over: Πώς μπορούμε να αποφύγουμε αυτό;
Σε αυτή την ψηφιακή εποχή, πρέπει να έχετε ακούσει για τους κολοσσούς των κοινωνικών μέσων όπως το Facebook και το Twitter και τις πλατφόρμες ηλεκτρονικού εμπορίου όπως το Alibaba και το Amazon. Αυτές οι ιστοσελίδες στο διαδίκτυο βασίζονται σε διάφορα πακέτα λογισμικού για τη λειτουργία τους. Τα προγράμματα αυτά έχουν ειλικρινά αλλάξει τον τρόπο με τον οποίο εργαζόμαστε, σκεφτόμαστε και ζούμε.
Εκτός αυτού, πολλές συσκευές που προηγουμένως ήταν αποκλειστικά μηχανικού χαρακτήρα, ελέγχονται πλέον από το λογισμικό. Για παράδειγμα, οι θερμοστάτες ήταν κάποτε ηλεκτρομηχανικές συσκευές. Ωστόσο, τώρα βασίζονται σε μεγάλο βαθμό σε λογισμικό για λειτουργία.
Ωστόσο, λογισμικά σφάλματα μπορεί να είναι αρκετά προβληματική, ειδικά με την αυξανόμενη εμπιστοσύνη μας στις καθημερινές δραστηριότητες. Στην πραγματικότητα, υπήρξαν πράγματι αρκετές περιπτώσεις όπου το λογισμικό δεν πέτυχε τον προορισμό του, οδηγώντας σε δυσάρεστα αποτελέσματα.
Σε αυτό το άρθρο, μιλάμε για 4 περιπτώσεις όπου η απόδοση του λογισμικού έχει χάσει σημαντικά το σήμα του και πώς να αποφύγει τέτοια θέματα λογισμικού.
Επίσης, διαβάστε: 10 λόγοι δεν πρέπει να είστε σε μια βιασύνη για να αγοράσετε ένα iPhone X1. Διακοπή 911 των ΗΠΑ σε πολλές πολιτείες
911 είναι μια κρίσιμη υπηρεσία, η οποία επιτρέπει στα άτομα να επικοινωνούν με το προσωπικό έκτακτης ανάγκης όποτε χρειάζεται. Κατά καιρούς, η επαφή με τους αποστολείς έκτακτης ανάγκης μέσω του 911 μπορεί να κάνει τη διαφορά μεταξύ ζωής και θανάτου.
Ως εκ τούτου, ήταν η καταστροφή όταν στις 9 Απριλίου 2014, Η δρομολόγηση κλήσης 911 απέτυχε σε επτά κράτη των ΗΠΑ, όπως η Καλιφόρνια, η Φλόριντα, η Μινεσότα, η Βόρεια Καρολίνα, η Πενσυλβάνια, η Νότια Καρολίνα και η Ουάσινγκτον.
Αυτή η διακοπή προκλήθηκε από ένα προληπτικό σφάλμα κωδικοποίησης, το οποίο συνέβη σε ένα κέντρο διαχείρισης κλήσεων έκτακτης ανάγκης στο Κολοράντο που ανήκε στην Intrado.
2. Γείωση του στόλου των Ηνωμένων Αερογραμμών
Τον Ιούλιο του 2015, η United Airlines αναγκάστηκε να το έδαφος αεροσκάφους λόγω σφάλματος λογισμικού. Το γεγονός αυτό επηρέασε πάνω από 4.900 πτήσεις παγκοσμίως και άφησε πολλούς επιβάτες να χαλαρώσουν στα αεροδρόμια και προφανώς απογοητευμένοι.
Πιθανόν να είχε και οικονομικό αντίκτυπο, καθώς η αεροπορική εταιρεία θα έπρεπε να αποζημιώσει πολλούς επιβάτες για την ταλαιπωρία. Υπήρχαν επίσης πιθανότατα αρκετές σημαντικές επιχειρηματικές συναντήσεις που είχαν μπλοκαριστεί λόγω της γείωσης.
3. Δυσλειτουργία του πεντάλ γκαζιού Toyota Camry
Τον Σεπτέμβριο του 2007, ο Jean Bookout ταξίδευε στην εθνική οδό Interstate 69 στην Οκλαχόμα με τον επιβάτη Barbara Schwarz, όταν αντιμετώπισε δυσκολίες ελέγχοντας την Toyota Camry.
Προσπάθησε να σηκώσει τα πόδια της από το γκάζι αλλά το αυτοκίνητο συνέχισε να επιταχύνει. Το πεντάλ φρένων απέτυχε να σταματήσει το αυτοκίνητο και αναγκάστηκε να χρησιμοποιήσει το φρένο έκτακτης ανάγκης.
Δυστυχώς, αυτό έστειλε το αυτοκίνητο σε ένα ανάχωμα. Ο Schwarz πέθανε ως αποτέλεσμα και το Bookout νοσηλεύτηκε για πέντε μήνες λόγω κρίσιμων τραυματισμών.
Θεωρήθηκε ότι το ατύχημα συνέβη λόγω αρκετών κωδικοποιητικών ανεπαρκειών που οδήγησαν στη συντριβή ενός έργου στο CPU του Camry. Αυτή η CPU θα ελέγχει έναν υπερβολικά τεράστιο αριθμό λειτουργιών, συμπεριλαμβανομένης της ανάφλεξης, του ελέγχου γκαζιού και του συστήματος ελέγχου ταχύτητας.
Ο κώδικας της Toyota έγινε μπερδεμένος χάος μετά από πολλά χρόνια νέων κωδίκων που είχαν συσσωρευτεί σε παλαιούς. Αυτό συνήθως αναφέρεται ως 'κώδικας σπαγγέτι'.
Ο κώδικας των σπαγγέτι είναι άσκοπα περίπλοκος και καθιστά σχεδόν αδύνατο να βρεθούν σφάλματα. Επιπλέον, η Toyota είχε επίσης παραβιάσει αρκετούς κανόνες ασφαλείας στην κωδικοποίησή τους. Θα πρέπει να σημειωθεί ότι αυτό δεν ήταν ένα μεμονωμένη περίπτωση ακούσιας επιτάχυνσης σε μια Toyota.Ωστόσο, το ατύχημα του Bookout έφερε αυτό το θέμα στο φως και τόνισε τα ελαττώματα της Toyota στη διαδικασία λογισμικού. Διαπιστώθηκε ακόμη ότι υπήρχαν περισσότεροι από 10 εκατομμύρια τρόποι μπορεί να προκύψει ανεπιθύμητη επιτάχυνση, με βάση τον τρόπο δομής του κώδικα της Toyota.
Αποτυχία θερμοστάτη φώκιας
Η Nest είναι μια εταιρεία, που ανήκει στο Αλφάβητο, που κάνει έξυπνους θερμοστάτες. Αυτοί οι θερμοστάτες είναι αρκετά έξυπνοι και επιτρέπουν στους χρήστες να ελέγχουν τη θερμοκρασία στα σπίτια τους από τα smartphones τους.
Τον περασμένο χειμώνα, θερμοστάτες Nest βρήκε πρόβλημα με τη μορφή ελαττωματικής ενημέρωσης λογισμικού, η οποία προκάλεσε την αποστράγγιση των μπαταριών τους. Δυστυχώς, αυτό το σφάλμα συνέβη στη μέση του χειμώνα, αφήνοντας προσωρινά κάποιους χρήστες χωρίς θερμότητα. Αυτό είναι σίγουρα κάτι που δεν θέλετε να συμβεί αυτή τη στιγμή του έτους.
Δείτε Επόμενο: Οι Selfies δεν είναι τόσο ασήμαντες όσο τα κοινωνικά μέσα τους έχουν κάνει αργάΣύντομη ανάλυση των ζητημάτων λογισμικού
Προσεγγίσεις όπως ο σχεδιασμός με βάση το μοντέλο και το TLA +, επιτρέπουν στους προγραμματιστές να αποκτήσουν μια πιο ολοκληρωμένη εικόνα της λειτουργίας του λογισμικού τους.
Ο Brett Victor, ένας εξέχων ερευνητής υπολογιστών, θεωρεί ότι υπάρχει μια αποσύνδεση μεταξύ των προγραμματιστών και των προβλημάτων που προσπαθούν να λύσουν με κωδικούς.
Λόγω αυτής της αποσύνδεσης, καθίσταται δύσκολο για τους προγραμματιστές να οραματιστούν τι προσπαθούν να βάλουν σε κώδικες. Ο Victor θεωρεί ότι αυτός είναι ένας από τους παράγοντες που συμβάλλουν στο λογισμικό που είναι γεμάτο με σφάλματα.
Ωστόσο, υπάρχει ελπίδα. Προσεγγίσεις όπως μοντέλο με βάση το σχεδιασμό και TLA + επιτρέψτε στους προγραμματιστές να αποκτήσουν μια μεγαλύτερη εικόνα της λειτουργίας του λογισμικού τους.
Ο σχεδιασμός βάσει μοντέλου, όπως υποδηλώνει το όνομα, επιτρέπει την ανάπτυξη λογισμικού μέσω οπτικών μοντέλων. Το TLA +, το οποίο είναι σύντομο για τη χρονική λογική των δράσεων, είναι μια γλώσσα σχεδιασμένη για τη σύνταξη των προδιαγραφών ενός προγράμματος υπολογιστή. Αυτό που είναι εξαιρετικό για το TLA + είναι ότι επιτρέπει την εξαντλητική δοκιμή και επαλήθευση του λογισμικού πριν δημοσιευθεί.
Και ο σχεδιασμός με βάση το μοντέλο και ο TLA + έχουν ήδη αποδείξει το αλάτι τους. Τεχνολογίες Esterel, μια εταιρεία ανάπτυξης λογισμικού, χρησιμοποιεί σχεδιασμό βασισμένο στο μοντέλο για την κατασκευή κρίσιμης σημασίας λογισμικού, ενώ το TLA + χρησιμοποιήθηκε από την Microsoft για να διορθώσει ένα πιθανό καταστροφικό σφάλμα Xbox και από την Ευρωπαϊκή Υπηρεσία Διαστήματος για να ξαναγράψει κώδικες για έναν ανιχνευτή που προσγειώθηκε ένας κομήτης.
Η διαδικασία της γραφής κώδικα κρατιέται σε μεγάλη εκτίμηση από τους προγραμματιστές. Πολλοί απ 'αυτούς απλά ενδιαφέρονται για τη διαδικασία της σύνταξης κωδίκων. Είναι επομένως μια πρόκληση να πάρουμε ορισμένους προγραμματιστές να αποδεχτούν προσεγγίσεις όπως ο σχεδιασμός με βάση το μοντέλο και ο TLA +. Αυτές οι προσεγγίσεις συχνά θεωρούνται αυστηρά ακαδημαϊκές και δεν έχουν πραγματική βιωσιμότητα. Ωστόσο, η αλλαγή της άποψης πρέπει να γίνει όσο το δυνατόν νωρίτερα.
Επίσης, διαβάστε: Στέλνουμε τα παιδιά μας προς την τύφλωσηΤελικές σκέψεις
Το λογισμικό χρησιμοποιείται όλο και περισσότερο σε εφαρμογές που απαιτούν ενσωματωμένες προφυλάξεις ασφαλείας. Καλύτερες μέθοδοι σχεδιασμού λογισμικού πρέπει να εισαχθούν σε όλο το πλάνο, καθώς τέτοιες εφαρμογές είναι ζωτικής σημασίας στη ζωή μας.
Διαδικασίες όπως η αυτοματοποίηση εξαρτώνται σε μεγάλο βαθμό από το λογισμικό αυτές τις μέρες, αλλά ένα σφάλμα σε μια γραμμή κώδικα μπορεί να μας οδηγήσει σε σημαντικές αποτυχίες, όπως δείχνουν οι παραπάνω περιπτώσεις.
Τώρα, φανταστείτε κάτι σαν την Τεχνητή Νοημοσύνη (AI) που ενσωματώνεται σε αυτές τις εφαρμογές. AI είναι αρκετά τρομακτικό από μόνη της χωρίς δυσλειτουργίες λογισμικού. Προσθέστε σφάλματα στο μείγμα και δεν υπάρχει λόγος τι θα μπορούσε να συμβεί.
Ωστόσο, υπάρχει μια ασημένια επένδυση εδώ. Με λίγη δουλειά και μερικά νέα εργαλεία, μπορούμε να δημιουργήσουμε ένα καλύτερο λογισμικό και AI, σχεδιάζοντας το πιο σωστά και δοκιμάζοντάς το στα καρφιά του.
Ας ελπίσουμε ότι αυτό το κρίσιμο ζήτημα λαμβάνεται σοβαρά υπόψη από τις αρμόδιες αρχές, ώστε να μπορέσουμε να χρησιμοποιήσουμε το πλήρες δυναμικό του λογισμικού, αλλά μόνο να οικοδομήσουμε ένα ασφαλέστερο και έξυπνο μέλλον.
Δείτε Επόμενο: Τεχνητή νοημοσύνη: οι τύποι και το μέλλον που κρατάει για τον άνθρωπο