Ινδού είναι μια προσπάθεια να παρέχει μια συλλογή από πρόγραμμα αναλύει και μετασχηματισμούς υλοποιηθεί σε Java για να προσαρμόσετε και να προσαρμόσουν τα προγράμματα Java. Ινδού προορίζεται να χρησιμεύσει ως μια ομπρέλα για:
* Στατικές αναλύσεις όπως τα σημεία προς ανάλυση, να ξεφύγουν από την ανάλυση, και αναλύει την εξάρτηση,
* Μετασχηματισμών όπως ο τεμαχισμός του προγράμματος και την εξειδίκευση του προγράμματος μέσω της μερικής αξιολόγησης, και
* Κάθε ενότητα λογισμικού που παρέχει τις αναλύσεις / μετατροπές σε μια συγκεκριμένη εφαρμογή, όπως Bandera ή πλατφόρμα, όπως το Eclipse.
Επί του παρόντος, υπάρχουν 3 μονάδες που αποτελούν μέρος του Ινδού. Οι περισσότερες ενότητες αναμένεται να προστεθούν κατά τη διάρκεια του χρόνου. Παρέχουμε μια επισκόπηση των προθέσεων της κάθε μονάδας που είναι διαθέσιμες προς το παρόν.
Ινδού είναι μια ενότητα που φιλοξενεί την εφαρμογή που αφορούν αλγορίθμων και δομών δεδομένων που είναι κοινές στα αναλύσεις και μετασχηματισμών που αποτελούν τμήμα ή έχουν προγραμματιστεί να είναι μέρος του Ινδού. Η ενότητα αυτή περιέχει ορισμό κοινής διεπαφής με περισσότερες αναλύσεις και μετασχηματισμούς για να παράσχει ένα πλαίσιο στο οποίο οι διάφορες υλοποιήσεις των αναλύσεων / μετασχηματισμοί μπορούν να συνδυαστούν για να σχηματίσουν συστήματα με ευκολία. Ως εκ τούτου, αυτή η ενότητα ενημερώνεται όταν ένα νέο είδος της ανάλυσης / μετασχηματισμού υλοποιείται ως μια ενότητα στο Ινδού. Ωστόσο, μια νέα εφαρμογή της ανάλυσης / μετατροπή δεν θα επηρεάσει αυτή την ενότητα, δεδομένου ότι θα εφαρμόσει ένα υπάρχον περιβάλλον.
Ενότητα StaticAnalyses προορίζεται να είναι η συλλογή των στατικών αναλύσεων, όπως η ανάλυση αντικείμενο ροής, απόδραση ανάλυση, και αναλύει την εξάρτηση. Οι αναλύσεις σε αυτή την ενότητα χρησιμοποιούν κοινές διεπαφές και εφαρμογές από το Ινδού και μπορούν να ορίσουν / παρέχει νέες διασυνδέσεις / εφαρμογές ειδικά σε νέες αναλύσεις. Οι υπάρχουσες αναλύσεις που αναφέρονται παρακάτω.
* Ανάλυση Αντικείμενο ροής (ΟΦΑ) είναι ένα σημείο-προς ανάλυση για Java. Κάθε περιοχή κατανομής του ανέλυσε σύστημα αντιμετωπίζεται ως μια αφηρημένη αντικείμενο και η ροή του μέσω του συστήματος παρακολουθείται να συμπεράνει τους πιθανούς τύπους ένα δέκτη σε μια πρόσκληση-site για να καταστεί δυνατή η κατασκευή ενός ακριβούς κλήση-γράφημα. Η ακρίβεια της ανάλυσης μπορεί να ποικίλει σε όρους ροής ευαισθησίας για τη μέθοδο τοπικές μεταβλητές και αντικείμενο-ευαισθησίας για παράδειγμα πεδία.
* Escape Ανάλυση είναι μια εκτεταμένη εφαρμογή της ανάλυσης διαφυγής προτείνει Ruf για το σκοπό της παρεμβολής κλάδεμα και έτοιμο άκρα εξάρτηση. Οι επεκτάσεις είναι υπό τη μορφή απρόσκοπτη προσθήκη ισοδυναμίας αξίας με την ανάλυση για τη βελτίωση της ανίχνευσης του πεδίου αλληλοσυγκρουόμενων διαβάζει / γράφει συμβαίνουν σε διάφορα θέματα πέρα από την απλή χρήση ισότητα είδος των προκριματικών των εκφράσεων πρόσβασης. Η ανάλυση χρησιμοποιεί επίσης πληροφορίες αντικείμενο ροής κάθετα προς την περαιτέρω βελτίωση της ακρίβειας.
* Αναλύσεις εξάρτηση είναι μια συλλογή της εξάρτησης αναλύσεις: ελέγχου εισόδου-based, έλεγχος εξόδου που βασίζεται δεδομένα αναγνωριστικό που βασίζεται, δεδομένα αναφοράς που βασίζονται, παρεμβολές, έτοιμο, συγχρονισμού, και απόκλιση, που απαιτούνται από τις αναλύσεις / μετασχηματισμούς όπως τεμαχισμός πρόγραμμα και μερική αξιολόγηση . Παρεμβολές και την εξάρτηση Έτοιμο αναλύσεις εξαρτώνται από την προηγούμενη ανάλυση διαφυγής, ενώ τα δεδομένα αναφοράς με βάση και την εξάρτηση από το συγχρονισμό αναλύσεις βασίζονται σε πληροφορίες αντικείμενο ροής και την υπολογισμένη πληροφορίες καλέστε-γράφημα. Ορισμένες αναλύσεις έχουν διαφορετικά επίπεδα ακρίβειας που μπορεί να μεταβάλλεται μέσω μιας καλά καθορισμένης διεπαφής.
* Παρενέργεια Ανάλυση παρέχει μέθοδο επιπέδου πληροφόρησης παρενέργεια. Ο χρήστης μπορεί να ρωτήσει αν κάποια από τα επιχειρήματα / παραμέτρων σε μια κλήση τόπου / μέθοδος θα επηρεαστεί είτε άμεσα (άμεσων μελών) είτε έμμεσα (αναδρομικά προσβάσιμο μέλη). Ομοίως, ο χρήστης μπορεί να παρέχει ένα μονοπάτι πρόσβασης δεδομένων ριζωμένη στα επιχειρήματα / παραμέτρων σε μια κλήση τόπου / μέθοδο και το ερώτημα αν το τελικό σημείο της διαδρομής πρόσβασης δεδομένων που θίγονται από την / κλήση μεθόδου.
* Παρακολούθηση Anlaysis είναι μια απλή ανάλυση που παρέχει οθόνης / κλειδαριά πληροφορίες γράφημα για το συγκεκριμένο σύστημα.
* Ασφαλής Ανάλυση Lock είναι μια ανάλυση που ανακαλύπτει συντηρητικά αν μια κλειδαριά (οθόνες) δεν θα πραγματοποιηθεί επ 'αόριστον. Η πληροφορία αυτή χρησιμοποιείται σε συνδυασμό με χρονική εξαρτήσεις και απορρέει για Object.wait () και Object.notify () / Object.notifyAll (), όπως γίνεται σε έτοιμα εξάρτηση.
* Ατομικότητας ανάλυση παρέχει πληροφορίες σχετικά με την ατομικότητα στο συγκεκριμένο σύστημα. Η τρέχουσα εφαρμογή βασίζεται σε ανάλυση διαφυγής να προβλέψει εάν μια δήλωση μπορεί να εκτελεστεί ατομικά. Αυτή η πληροφορία χρησιμοποιείται για την ανίχνευση ατομική περιοχή των κωδικών. Η πληροφορία αυτή είναι χρήσιμη σε εφαρμογές όπως το μοντέλο έλεγχο για να μειώσει το το μέγεθος του χώρου κατάστασης, ως εκ τούτου, να βελτιώσει την απόδοση.
Ορισμένες αναλύσεις μπορεί να είναι αρκετά μεγάλη ώστε να αποτελέσει μάθημα για τα δικά τους και τις αναλύσεις αυτές θα φιλοξενούνται διάφορες ενότητες, στην Ινδού αντί να καταναλώνεται από αυτή την ενότητα.
Ενότητα Java πρόγραμμα Slicer περιέχει τον πυρήνα της εφαρμογής της Java πρόγραμμα του τεμαχιστή, μαζί με τους προσαρμογείς που παρέχουν την γαρνιτουρας σε άλλες εφαρμογές, όπως Bandera και Eclipse. Η εφαρμογή είναι architected ως βιβλιοθήκη και όχι ως μια εφαρμογή για να διευκολυνθεί η επαναχρησιμοποίηση των τμημάτων πληροφορικής του. Ο πυρήνας είναι ανεξάρτητο από την εφαρμογή? Απαίτηση κάθε εφαρμογή της φέτας μπορεί να ικανοποιηθεί από κωδικοποίησαν τις υλοποιήσεις των διεπαφών μετα-επεξεργασία και συνδέοντας σε αυτές τις εφαρμογές για να σχηματίσουν μια προσαρμοσμένη του τεμαχιστή.
Αυτή η ενότητα βασίζεται σε μεγάλο βαθμό στις πληροφορίες που παρέχονται από την εξάρτηση αναλύσεων, καθώς και την κλήση-γράφημα που παρέχονται από ΟΦΑ μέσω σαφώς καθορισμένες διεπαφές που επιτρέπει εξωτερική εφαρμογές που πρέπει να χρησιμοποιούνται για τον τεμαχισμό.
Αυτή η εφαρμογή της συσκευής τεμαχισμού παραδίδεται σε Eclipse με μια διαισθητική διεπαφή χρήστη μέσω Kaveri plugin.
Χαρακτηριστικά: o
Προς τα πίσω και προς τα εμπρός γενιά φέτα. Πλήρης φέτες (ένωση προς τα πίσω και προς τα εμπρός
φέτες ξεκινώντας από τα ίδια κριτήρια φέτα) μπορεί να δημιουργηθεί.
* Στήριξη residualize (κατάλληλη) φέτες σε εκτελέσιμα αρχεία τάξη.
* Υποστήριξη για τη θεματική τεμαχισμό μέσω πλαίσιο πλούσια προδιαγραφή κριτήρια φέτα.
* Υποστήριξη για να περιορίσεις την φέτα σε ένα συγκεκριμένο μέρος του συστήματος με τις προδιαγραφές πεδίο.
* Στήριξη σε συνέχειες κριτήρια φέτα, διαμορφώσεις του τεμαχιστή, και φέτες.
Όλες οι μονάδες σε Ινδού εργασίες του έργου για Jimple, μια ενδιάμεση αναπαράσταση της Java, που παρέχονται από αιθάλη εργαλειοθήκη από Sable ομάδα στο Πανεπιστήμιο McGill. Κάθε ενότητα στο έργο θα εκτεθεί ως ένα ή περισσότερα Eclipse plugins εάν οι παρεχόμενες πληροφορίες είναι χρήσιμες για τον χρήστη και δεκτικά για κατανάλωση χρήστη μέσω ενός γραφικού περιβάλλοντος χρήστη.
Τεχνολογία Λογισμικού Φιλοσοφία
Κάθε ενότητα σε αυτό το έργο θα παρέχει μόνο την απαιτούμενη λειτουργικότητα με σαφώς καθορισμένες διεπαφές που μπορούν να εφαρμοστούν για να συγκεντρώσει ένα προσαρμοσμένο σύστημα με τις κατάλληλες επεκτάσεις που πληρούν συγκεκριμένες απαιτήσεις. Καθώς η διασύνδεση είναι σαφώς διαχωρισμένη από την εφαρμογή, οποιαδήποτε εξωτερική εφαρμογή που παρέχει την απαιτούμενη διεπαφή μπορεί να χρησιμοποιηθεί απρόσκοπτα με ενότητες από αυτό το έργο.
Φόντο
Η εφαρμογή των περισσότερων από τις αναλύσεις που οδηγήθηκε από τις απαιτήσεις της Java πρόγραμμα γαρνιτουρας απαιτείται από Bandera. Ωστόσο, δεδομένου ότι η κόπτων πρόγραμμα θα μπορούσε να χρησιμοποιηθεί εκτός Bandera και οι αναλύσεις θα μπορούσαν να χρησιμοποιηθούν για να διευκολύνουν άλλους μετασχηματισμούς όπως η εξειδίκευση του προγράμματος μέσω μερικής αξιολόγησης, περάσαμε τις αναλύσεις και μετασχηματισμούς σε ένα νέο πρόγραμμα που ονομάζεται Ινδού.
Στοιχεία Λογισμικού:
Εκδοχή: 0.8
Ανεβάστε ημερομηνία: 3 Jun 15
Άδεια: Δωρεάν
Δημοτικότητα: 14
Τα σχόλια δεν βρέθηκε