Το Checked C βοηθάει τους προγραμματιστές να αποφεύγουν κοινά λάθη, ενώ ασχολούνται με δείκτες (pointers) στη C. Το Checked C της Microsoft έχει ως στόχο να καταστήσει το σύστημα λογισμικού πιο αξιόπιστο και ασφαλές. Για να καταφέρει το ίδιο και η ίδια η Microsoft, έκανε open source το Checked C, μια επέκταση της C γλώσσα προγραμματισμού που προσθέτει στατικό και δυναμικό έλεγχο της C.
Αν νομίζατε ότι η Microsoft έχει σταματήσει να αγαπά την C, ήρθε η ώρα να αλλάξετε γνώμη. Μιας και με την τελευταία της κίνηση για βελτίωση της ποιότητας κώδικα, η Microsoft έκανε open source το Checked C.
Το Checked C είναι μια επέκταση της γλώσσα προγραμματισμού C που επιτρέπει σε έναν προγραμματιστή να γράψει κώδικα C που είναι εγγυημένα ελεγμένος.
Το μεγαλύτερο μέρος του συστήματος λογισμικού είναι γραμμένο σε C ή C ++ (η οποία βασίζεται στην C). Έτσι, πολύ συχνά οι προγραμματιστές συστήματος αισθάνονται την ανάγκη για μια γλώσσα προγραμματισμού συστήματος που να ανιχνεύει και να αποτρέπει κοινά λάθη που αφορούν τους δείκτες (pointers). Το Checked C παρέχει αυτή τη λειτουργικότητα και προσθέτει μια επιπλέον ασφάλεια και αξιοπιστία στον κώδικα του συστήματος.
Πώς είναι το Checked C μπορεί να βοηθήσει στην ανίχνευση σφαλμάτων;
Στην C, χρησιμοποιούνται δείκτες από τους προγραμματιστές για να έχουν πρόσβαση στα δεδομένα. Ενώ τους χρησιμοποιούν για να οδηγήσουν σε ένα κελί μνήμης, είναι εύκολο για έναν προγραμματιστή να κάνει κάποιο λάθος, κάνοντας το πρόγραμμα να διαβάσει ή να γράψει λάθος δεδομένα. Εξαιτίας αυτών των λαθών, τα προγράμματα θα μπορούσαν να κρασάρουν, να μην συμπεριφέρονται σωστά ή να είναι επιρρεπή στο να βρεθούν σε κίνδυνο.
Η Microsoft εξηγεί ότι είναι το Checked C επιτρέπει στους προγραμματιστές να περιγράψουν τη χρήση δεικτών με έναν καλύτερο τρόπο. Χρησιμοποιώντας περισσότερες πληροφορίες, όπως το εύρος της μνήμης που χρησιμοποιείται, τυχόν λάθη των δεικτών ανιχνεύονται στο χρόνο εκτέλεσης. Αυτή η διαδικασία ονομάζεται ” bounds-checking“. Κατά τη συνήθη γλώσσα προγραμματισμού C, τέτοια λάθη περνούν απαρατήρητα.
Έτσι, ακριβώς όπως υποδηλώνει το όνομά του, το Checked C προσθέτει το στατικό και δυναμικό ελέγχο στη C.
Αν είστε γνώστης της έννοιας του ελέγχου ορίων (bounds-checking), ίσως να γνωρίζετε ότι οι γλώσσες όπως οι C# και Java έχουν ήδη αυτή την ικανότητα.
Ωστόσο, σε αντίθεση με την αυτόματη προσθήκη πληροφοριών που απαιτείται για τα όρια ελέγχου σε αυτές τις γλώσσες προγραμματισμού, ένας προγραμματιστής συστήματος λογισμικού χρειάζεται για να ασκήσει περισσότερο έλεγχο επί του προγράμματος. Το Checked C φέρνει τον έλεγχο αυτό και κάνει τον κώδικα πιο ασφαλή και αξιόπιστο.
Εδώ μπορείτε να βρείτε την τελευταία έκδοση του Checked C. Για περισσότερες πληροφορίες, επισκεφθείτε τη σελίδα του Microsoft Research και GitHub repo του Checked C.

