Performance optimization on Declarative Points-to Analysis using the Souffle Datalog Engine

Διπλωματική Εργασία uoadl:2866399 311 Αναγνώσεις

Μονάδα:
Κατεύθυνση / ειδίκευση Υπολογιστικά Συστήματα: Λογισμικό και Υλικό (ΣΥΣ)
Πληροφορική
Ημερομηνία κατάθεσης:
2019-03-16
Έτος εκπόνησης:
2019
Συγγραφέας:
Ζήσης Χρήστος
Στοιχεία επιβλεπόντων καθηγητών:
Γιάννης Σμαραγδάκης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, Σχολή Θετικών Επιστημών
Πρωτότυπος Τίτλος:
Performance optimization on Declarative Points-to Analysis using the Souffle Datalog Engine
Γλώσσες εργασίας:
Αγγλικά
Μεταφρασμένος τίτλος:
Βελτιστοποίηση απόδοσης Δηλωτικής Ανάλυσης Δεικτών με τη χρήση της Datalog διαλέκτου του Souffle
Περίληψη:
To CClyzer είναι ένα εργαλείο το οποίο έχει σκοπό να παρέχει μια ολοκληρωμένη ανάλυση δεικτών σε κώδικα LLVM και σε συνάρτηση με μεταβαλλόμενη ακρίβεια ως προς την ιεραρχία κλήσεων κάθε μεθόδου. Ενώ αρχικά υλοποιήθηκε με χρήση της LogicBlox μηχανής για τη γλώσσα Datalog και τη διάλεκτο LogiQL, σε αυτή την εργασία παρουσιάζουμε την μεταφορά του CClyzer σε ένα νέο περιβάλλον για εκτέλεση προγραμμάτων σε Datalog, το Souffle. Μελετώντας την ανάλυση την οποία προσφέρει το CClyzer σε LLVM bitcode που προκύπτει από πηγαίο κώδικα γλώσσας C και C++, πιστεύουμε ότι το Souffle αποτελεί πολύτιμο εργαλείο στην ενίσχυση της λογικής λειτουργίας του CClyzer με τελικό στόχο την ελαχιστοποίηση του χρόνου εκτέλεσης της ανάλυσης. Οι μετρήσεις μας δείχνουν ενθαρρυντικά αποτελέσματα καθώς ο συνολικός χρόνος εκτέλεσης της ανάλυσης μειώνεται κατά 95% για μικρά προγράμματα ενώ η εκτέλεση με τη χρήση παραλληλίας προσφέρει, κατά μέσο όρο, 29% επιτάχυνση για μεγαλύτερα.
Κύρια θεματική κατηγορία:
Τεχνολογία – Πληροφορική
Λέξεις-κλειδιά:
στατική ανάλυση προγραμμάτων, cclyzer, souffle, δομική ευαισθησία, ευαισθησία συμφραζόμενων, llvm
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
3
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
5
Αριθμός σελίδων:
28