..
Μπορούμε να καθορίσουν τη διαδικασία της στατικής ανάλυσης του πηγαίου κώδικα ως μια διαδικασία με την οποία προσδιορίζονται οι μερίδες είναι μη ασφαλή κωδικό, χωρίς να κάνει την πραγματική εκτέλεση του προγράμματος.
Στατική ανάλυση »S μπορεί να γίνει αυτόματα, δηλαδή, από τις δικές του συγκεκριμένες εργαλεία χρήσιμα για την υποστήριξη της διαδικασίας δοκιμών. Παρατηρήστε πώς η φάση της δοκιμής του λογισμικού, στο σύνολό της, είναι μια πολύ σύνθετη διαδικασία και συνήθως γίνεται από τους προγραμματιστές που αποφασίζουν να ειδικευτούν στο συγκεκριμένο τομέα. Εργαλεία λογισμικού αφιερωμένη στην «στατική ανάλυση code βοηθώντας έτσι να μειωθεί ο χρόνος και το κόστος, παρέχοντας μια πρώτη ένδειξη για το τι τμήματα του κώδικα που θα απαιτείται να ελέγχουν πιο προσεκτικά.
Τα είδη των σφαλμάτων που εντοπίστηκαν από τα μέσα που αναφέρονται είναι πολλαπλά και συνεχή ενημέρωση, την ανάπτυξη των επιχειρήσεων, στην πραγματικότητα, αυτό το είδος λογισμικού πηγαίνει στο μεγάλο ρυθμό για πολύ καιρό τώρα.
Σημαντική από την άποψη αυτή την ιστορική αξία του κάθε προγράμματος όπως το χνούδι , που κυκλοφόρησε το 1979, που τρέχει σε Linux και είναι αφιερωμένο στην γλώσσα προγραμματισμού C . Lint είναι ένα πραγματικό ορόσημο για στατικό έλεγχο του λογισμικού κώδικα, μερικές φορές χαρακτηρίζονται ως "πανί σαν εργαλεία", ή "χνούδι σαν εργαλεία."
Η σύγχρονη στατική αναλυτές είναι επίσης σε θέση να επιβεβαιώσετε τον κωδικό σχεδιαστεί για να λειτουργούν παράλληλα, παρέχοντας συγκεκριμένες προτάσεις για τέτοιες εφαρμογές.
Σε αυτό το άρθρο, έχουμε επικεντρωθεί σε αυτό το είδος της πράξης, που προσπαθεί να προσφέρει μια σύντομη επισκόπηση των δυνατοτήτων που οφείλονται στις στατικές κώδικα για προγράμματα που τρέχουν παράλληλα γλώσσα C + + (τα πιο δημοφιλή και ευπροσάρμοστο στη φύση). Κατ 'αρχάς, ας εξετάσουμε ένα γενικό και ευέλικτο λογισμικό ως PC-Lint .
PC-Lint έχει σχεδιαστεί για να παρέχουν την καλύτερη δυνατή απόδοση στην ανάλυση των προγραμμάτων που χρησιμοποιούν τα νήματα POSIX , αλλά μπορεί να χρησιμοποιηθεί αποτελεσματικά σε μια γενική υπόθεση. Δεν θέλω να πω ότι η ανάλυση που έγινε από το λογισμικό είναι με κάθε τρόπο αυτόματο.
Φαίνεται απαραίτητο να διευκρινιστεί το χέρι τις λειτουργίες ότι το πρόγραμμα θα τρέξει παράλληλα (ή ακόμη και ταυτόχρονα), έτσι ώστε PC-Lint μπορεί να προχωρήσει σε «στατική ανάλυση της ισότητας (που ναι, αυτόματη) μόνο σε αυτά τα τμήματα. Για να επιτευχθεί αυτό, πρέπει να χρησιμοποιήσετε την επιλογή-πάντα σχετικά με την εκτέλεση της γραμμής εντολών PC-Lint. Για παράδειγμα, η δήλωση:
πανί SEM (λειτουργία, το νήμα)επικοινωνεί με το PC-Lint είναι απαραίτητο να αναλυθεί η λειτουργία λειτουργία, καθώς θα εξελίσσονται παράλληλα. Θα λάβετε πλέον μηνύματα λάθους που σχετίζονται με τη λειτουργία έχοντας κατά νου ότι θα πρέπει να χειριστεί επίσης παράλληλη εκτέλεση του ίδιου, τότε επισημαίνοντας, για παράδειγμα, εάν μια κοινή μεταβλητή αυτή χρησιμοποιείται ή να τροποποιηθεί χωρίς την κατάλληλη ορισμός του κρίσιμο τμήμα.
Ήταν από αυτή την άποψη, αν ο αμοιβαίος αποκλεισμός και πρωτόγονων συγχρονισμό υλοποιούνται με χρήση POSIX θέματα που τυπικά του φορμαλισμού, ή, για παράδειγμα, pthread_mutex_lock και pthread_mutex_unlock, δεν θα πρέπει να καθορίσετε τίποτα γι 'αυτό από τη γραμμή εντολών. Σε αντίθετη περίπτωση, οι κατευθυντήριες γραμμές θα χρησιμοποιηθούν:
-SEM (πρόσβαση, thread_lock) -SEM (απελευθέρωση, thread_unlock)για να δείξει ότι η πρόσβαση στο κρίσιμο τμήμα γίνεται μέσα από μια λειτουργία που ονομάζεται την πρόσβαση και την κυκλοφορία του εν λόγω τμήματος είναι η χρήση της λειτουργίας απελευθέρωση.
Εάν, για μια στατική ανάλυση του κώδικά μας, αλλά θέλαμε να έχουμε μια ελαφρώς πιο ισχυρά εργαλεία και ανεξάρτητο από το PC-Lint, VivaMP μπορούσε να είναι μια καλή επιλογή.
| |
ASP.NET (Μάθημα)
Πλήρης πορεία για τη δημιουργία εφαρμογών Web από 49 €. |
| |
VB.NET (Μάθημα)
Κάντε Εφαρμογές για επιτραπέζιους υπολογιστές με τη Visual Basic .. Από 49 €. |
| |
Web Design (Μάθημα)
Ιστοσελίδες Σχεδιασμός με HTML, CSS και Dynamic HTML. Από 39 €. |