Πριν 30 χρονιά, ένα λάθος στις σελίδες του Pixel, από όπου κάναμε αντιγραφή κώδικα, είχε συχνά ως αποτέλεσμα μια “βαριά” κουβέντα από τον αναγνώστη που δεν έβλεπε τους κόπους της αντιγραφής του να γίνονται ένα λειτουργικό πρόγραμμα. Σήμερα, ένα λάθος στον κώδικα κάποιου λογισμικού μπορεί να στοιχίσει μέχρι και ανθρώπινες ζωές.

Τον Ιούνιο του 1996, ο πρώτος πύραυλος Ariane 5 περίμενε υπομονετικά την εκτόξευση του στην ακτή της Νέας Γουϊάνας. Μόλις 37 δευτερόλεπτα μετά την πυροδότηση των κινητήρων του, ο πύραυλος έκανε στροφή 90 μοιρών και μόλις δύο δευτερόλεπτα αργότερα διαλύονταν μέσα σε μια πύρινη μπάλα. Η έκρηξη δεν ήταν αποτέλεσμα της απότομης στροφής, αλλά του συστήματος αυτοκαταστροφής, το οποίο προτίμησε να κάψει 370 εκατομμύρια δολάρια, αντί να θέσει σε κίνδυνο ανθρώπινες ζωές. Μετά από έρευνα διαπιστώθηκε ότι η απότομη αλλαγή πορείας οφείλονταν σε λάθος στον κώδικα ενός τμήματος του λογισμικού ελέγχου του πυραύλου. Για όσους ενδιαφέρονται για περισσότερη ανάλυση μπορούν να βρουν πληροφορίες στη διεύθυνση https://hownot2code.com/2016/09/02/a-space-error-370-million-for-an-integer-overflow/

Τον Οκτώβριο του 2018 και τον Μάρτιο του 2019, δύο αεροσκάφη τύπου Boeing 737 MAX 8, συνετρίβησαν με αποτέλεσμα τον θάνατο 338 ατόμων. Στις 4 Απριλίου, η Boeing ζήτησε συγνώμη για την απώλεια των ανθρώπινων ζωών και παράλληλα παραδέχτηκε ότι το λογισμικό πλοήγησης του αεροσκάφους ήταν υπεύθυνο, τουλάχιστον για το ένα από τα 2 δυστυχήματα. Την εικόνα συμπληρώνουν κάποια περιστατικά με αυτοκίνητα της Tesla, μεταξύ των οποίων και κάποια θανατηφόρα, για τα οποία δεν είναι ακόμα ξεκάθαρο, αν το σφάλμα οφείλονταν σε λανθασμένους χειρισμούς του αυτόματου πιλότου.

Θα μπορούσαμε να συντάξουμε μια μεγάλη λίστα κινδυνολογίας σχετικά με τη χρήση αλγόριθμων που ενσωματώνουν κάποια μορφή νοημοσύνης και συμμετέχουν στη λήψη αποφάσεων ή την αναλαμβάνουν πλήρως. Στην κορυφή αυτής της λίστας θα βρίσκονταν τα οπλικά συστήματα και στη συνέχεια τα μέσα μεταφοράς. Φανταστείτε, για παράδειγμα, ένα περιστατικό 9/11, όπου οι τρομοκράτες δε χρειάζεται να είναι μέσα στα αεροπλάνα. Ίσως σε αυτό το σημείο έχει φτάσει στην άκρη των χειλιών σας να πείτε “και τι μας λες τώρα, αυτά έχουν ειπωθεί δεκάδες φορές” και να συνεχίσετε να γράφετε γραμμές κώδικα για το λογισμικό που πρόκειται σύντομα να διαθέσει στην αγορά η εταιρεία σας. Κατά τις 5μμ θα κλείσετε τον υπολογιστή σας, ή ίσως αργότερα, αν τα deadlines είναι πιεστικά, και θα πάτε σπίτι ή θα συναντηθείτε με φίλους για να χαλαρώσετε από την πίεση της εργασίας. Ακριβώς το ίδιο έκαναν και κάποιοι μηχανικοί της Boeing πριν από μερικά χρόνια, όταν ετοίμαζαν το σύστημα ελέγχου πλοήγησης του 787 MAX 8.

Ο καθένας τους έγραφε μερικές από τα εκατομμύρια γραμμές κώδικα, χωρίς ίσως να γνωρίζει τη συνολική εικόνα του έργου και χωρίς, πιθανόν, να έχει περάσει από το μυαλό του ότι, κάποια στιγμή, το λογισμικό που δημιούργησε θα μπορούσε να κοστίσει τη ζωή σε 338 ανθρώπους. Μάλλον κανένας δεν είχε σκοπό να κάνει κάτι τέτοιο. Απλά έκανε τη δουλειά του. Οι μηχανικοί λογισμικού της Boeing δε χρειάζεται τώρα να ανησυχούν για εξοντωτικές μηνύσεις, καθώς η εταιρεία θα αναλάβει να φέρει την ισορροπία δαπανώντας εκατοντάδες εκατομμύρια ή και δισεκατομμύρια σε αποζημιώσεις και δικηγόρους. Ίσως, όμως, κάποιοι από αυτούς ανησυχούν για άλλο λόγο. Ίσως θυμούνται τις γραμμές κώδικα που είχαν γράψει και αναρωτιούνται, αν ήταν στη δική τους “βάρδια” που έγινε το λάθος. Ίσως σκέφτονται τι θα συμβεί, αν κάποιοι άλλοι μηχανικοί κάνουν ένα παρόμοιο λάθος σε μια παρτίδα αυτόνομων οχημάτων, ή αν κάποιοι γράφουν ήδη γραμμές κώδικα για ένα λογισμικό ελέγχου πυρηνικών όπλων.

Τα ευχάριστο είναι ότι όσοι το σκέφτονται, θυσιάζοντας ένα ποσοστό της ηρεμίας τους, είναι και αυτοί που συνειδητά μπορούν να κάνουν κάτι ώστε όλοι οι παραπάνω κίνδυνοι να μείνουν στο στάδιο του σεναρίου.