Integration of Doop's static analysis to ReDex optimizer

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

Μονάδα:
Κατεύθυνση / ειδίκευση Υπολογιστικά Συστήματα: Λογισμικό και Υλικό (ΣΥΣ)
Πληροφορική
Ημερομηνία κατάθεσης:
2019-11-04
Έτος εκπόνησης:
2019
Συγγραφέας:
Ζογμπή Λυδία
Στοιχεία επιβλεπόντων καθηγητών:
Γιάννης Σμαραγδάκης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ
Πρωτότυπος Τίτλος:
Integration of Doop's static analysis to ReDex optimizer
Γλώσσες εργασίας:
Αγγλικά
Μεταφρασμένος τίτλος:
Ενσωμάτωση της στατικής ανάλυσης του Doop στο βελτιστοποιητή ReDex
Περίληψη:
Οι κινητές συσκευές έχουν περιορισμένη υπολογιστική ισχύ, μνήμη, και διάρκεια μπαταρίας. Επομένως, η βελτιστοποίηση των εφαρμογών για καλύτερη απόδοση είναι κρίσιμης σημασίας για την επιτυχημένη χρήση τους. Όμως, η βελτιστοποίηση σε υψηλό επίπεδο απαιτεί μεγάλη εμπειρογνωσία, γεγονός που την καθιστά μια δύσκολη πρόκληση για τους προγραμματιστές. Συνεπώς, τεχνικές και εργαλεία για αυτόματη βελτιστοποίηση κώδικα χρησιμοποιούνται ευρέως για την επίτευξη καλύτερης απόδοσης για εφαρμογές κινητών συσκευών. Μια εφαρμογή Android γράφεται στη γλώσσα προγραμματισμού Java και ένας πολύ γνωστός βελτιστοποιητής για τέτοιες εφαρμογές είναι το ReDex, το οποίο λειτουργεί σε επίπεδο ενδιάμεσης αναπαράστασης κώδικα (bytecode). Αναλύει στατικά την εφαρμογή, και με βάσει αυτή την πληροφορία, εφαρμόζει βελτιστοποιήσεις όπου κρίνει ότι είναι απαραίτητο και δυνατό. Παρόλα αυτά, η στατική ανάλυση του ReDex είναι αυστηρή και συντηρητική, επομένως, χάνει αρκετές ευκαιρίες για βελτιστοποίηση. Για το λόγο αυτό, στα πλαίσια αυτής της διπλωματικής εργασίας, επιχειρούμε να ενισχύσουμε τη στατική ανάλυση του ReDex και τις βελτιστοποιήσεις που εφαρμόζει στην εφαρμογή. Χρησιμοποιούμε το Doop, ένα εργαλείο που αναλύει προγράμματα γραμμένα σε Java και μας δίνει διάφορες χρήσιμες πληροφορίες, όπως για παράδειγμα, σε τι αντικείμενα στη μνήμη μπορεί να δείχνει μια μεταβλητή (pointer analysis). Το Doop εκτελεί βαθύτερη και πιο λεπτομερή στατική ανάλυση και μας παρέχει περισσότερη πληροφορία για το πρόγραμμα που μπορούμε να την εκμεταλλευτούμε για καλύτερα αποτελέσματα. Κύριος στόχος μας είναι να εστιάσουμε συγκεκριμένα στο method inlining και πώς μπορούμε να επεκτείνουμε την υλοποίηση του ReDex, ώστε να μπορεί να εφαρμοστεί και για virtual μεθόδους.
Κύρια θεματική κατηγορία:
Θετικές Επιστήμες
Λέξεις-κλειδιά:
στατική ανάλυση προγραμμάτων, doop framework, βελτιστοποίηση προγραμμάτων, ReDex, method inlining
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
3
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
8
Αριθμός σελίδων:
41