Ορισμός του Bug (Υπολογισμός)
Miscellanea / / July 04, 2021
Από τον Guillem Alsina González, τον Ιανουάριο 2017
Οι πρώτοι σύγχρονοι υπολογιστές δεν ήταν ακριβώς μικροί, ούτε λειτουργούσαν με τον ίδιο τρόπο, αλλά βασίζονταν σε μεγαλύτερα μηχανικά και ηλεκτρονικά εξαρτήματα.
Βρισκόμαστε, σε διαχρονικούς όρους, κατά τη διάρκεια του Δευτέρου Παγκοσμίου Πολέμου, και πιο συγκεκριμένα το 1944, όταν υπολογιστή Το Mark II (που κατασκευάστηκε από την IBM στο Χάρβαρντ) υπέστη αποτυχία σε ένα ηλεκτρομαγνητικό ρελέ, εκείνη τη στιγμή ένα κύριο συστατικό για έναν υπολογιστή.
Κατά το άνοιγμα του υπολογιστή και την αναζήτηση του επηρεαζόμενου ρελέ, οι υπεύθυνοι διαπίστωσαν ότι ένας σκώρος (στα Αγγλικά, έντομο) είχε εισέλθει στο σύστημα, προσκρούοντας στο ρελέ, το οποίο αφέθηκε ανοιχτό
Έκτοτε, κάθε φορά που εμφανίστηκε κάποιο είδος σφάλματος στον εν λόγω υπολογιστή, οι επιστήμονες που ήταν υπεύθυνοι για τη διαχείριση του άρχισαν να μιλούν για ένα έντομο, ένας όρος που έκανε την τύχη να αναφέρεται σε όλα τα είδη προβλημάτων και σφαλμάτων που εμπόδισαν το φυσιολογικό λειτουργεί του σκεύη, εξαρτήματα
Με την πάροδο του χρόνου και την αυξημένη αξιοπιστία του σκεύη, εξαρτήματα παράλληλα με τη μικρογραφία του, τα περισσότερα από τα προβλήματα που υπέστησαν οι υπολογιστές Παρέμειναν στην ενότητα λογισμικού, παρόλο που το όνομα λάθους έκανε μια περιουσία να τα ονομάσει λάθη
Πώς πρέπει να κατανοήσουμε ένα σφάλμα με τη σύγχρονη έννοια του όρου; Λοιπόν, απλά, ως αποτυχία κατά τη στιγμή του προγραμματισμού, που δημιουργεί ένα μέρος του κώδικας πηγή που περιέχει ένα ουσιαστικό σφάλμα, προκαλώντας προβλήματα στο πρόγραμμα εκτέλεσης.
Τα σφάλματα μπορούν να οδηγήσουν σε επαναλαμβανόμενα προβλήματα όσο το Όνομα χρήστη κάνει μια σειρά πραγμάτων ή όταν υπάρχει μια σειρά περιστάσεων που δεν επαναλαμβάνονται πάντα όταν κάνετε τα ίδια πράγματα με την ίδια σειρά, αλλά εξαρτώνται από παράγοντες εξωτερικό του προγράμματος.
Έτσι, για παράδειγμα, μπορούμε να έχουμε διαφορές μεταξύ ενός προγράμματος και ενός διαφορετικού προγράμματος μνήμη, αλλά ότι το πρόβλημα παρουσιάζεται όταν έχουμε κάνει μια σειρά από πράγματα και με τις δύο εφαρμογές.
Ανάμεσα σε σφάλματα πιο συνηθισμένο στον προγραμματισμό έχουμε τη διαίρεση με μηδέν υπερχείλιση buffer, παραβίαση μνήμης, σφάλματα λειτουργίας με θεραπεία που δεν εξετάζεται στο πρόγραμμα, εσφαλμένη πρόσβαση σε μεταβλητές, ...
Τα εργαλεία του προγραμματισμός Τείνουν να προσφέρουν λύσεις για τον εντοπισμό και τη διόρθωση αυτών των προβλημάτων, εξετάζοντας πρώτα τον πηγαίο κώδικα και εφαρμόζοντας λογικούς κανόνες (για παράδειγμα, εάν έχει προσπελαστεί μια μεταβλητή πριν δηλώστε το και ορίστε τον τύπο του) και, στη συνέχεια, μέσω εργαλείων δοκιμών κώδικα που μας επιτρέπουν να παίξουμε με τις εισαγόμενες τιμές και να εξετάσουμε τα αρχεία με πληροφορίες από εκτέλεση.
Αυτή η διαδικασία ονομάζεται «εντοπισμός σφαλμάτωνΑπό τον αγγλικό όρο εντοπισμός σφαλμάτων (για καθαρισμό σφάλματα).
Η πιο σκοτεινή πλευρά των σφαλμάτων είναι ότι μπορούν να ανοίξουν την πόρτα για εκτέλεση κακόβουλο λογισμικό στο σύστημα που εκτελεί το πρόγραμμα που επηρεάζεται
Από τη στιγμή που το σφάλμα έχει προκληθεί, υπάρχουν τρόποι για την εκμετάλλευση του προβλήματος που προκαλείται στο λειτουργικό σύστημα για την εκτέλεση αυθαίρετου κώδικα που έχει εισαχθεί από έξω.
Εάν προσθέσουμε σε αυτό τα προνόμια που μπορούν να κερδίσουν στο σύστημα, έχουμε τις δυνατότητες κίνδυνος πολύ σοβαρό που έχει αξιοποιηθεί σε πολλές περιπτώσεις από εγκληματίες στον κυβερνοχώρο για πρόσβαση σε συστήματα τρίτων.
Φωτογραφίες: Fotolia - selcuk kırbız / gustavofrazao
Θέματα στο Bug (Υπολογισμός)