Declarative type inference and SSA transformation of Android applications

Πτυχιακή Εργασία uoadl:2877079 342 Αναγνώσεις

Μονάδα:
Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Πληροφορική
Ημερομηνία κατάθεσης:
2019-06-28
Έτος εκπόνησης:
2019
Συγγραφέας:
ΤΣΑΤΙΡΗΣ ΗΛΙΑΣ
Στοιχεία επιβλεπόντων καθηγητών:
Γιάννης Σμαραγδάκης, Καθηγητής, Τμήμα Πληροφορικής και Τηλεπικοινωνιών, ΕΚΠΑ
Πρωτότυπος Τίτλος:
Declarative type inference and SSA transformation of Android applications
Γλώσσες εργασίας:
Αγγλικά
Μεταφρασμένος τίτλος:
Δηλωτική εξαγωγή τύπων και μετασχηματισμός εφαρμογών Android σε SSA μορφή
Περίληψη:
To Android είναι παντού: από τις κινητές συσκευές και τις τηλεοράσεις, μέχρι πιο προσφατα στις κεντρικές κονσόλες των αυτοκινήτων. Αυτή η ευρεία χρήση του λειτουργικού Android καθιστά την ανάλυση εφαρμογών όλο και πιο σημαντική, προκειμένου να βελτιστοποιήσουμε την απόδοση τους και την κατανάλωση πόρων του συστήματος.

Το Static Single Assignment (SSA) είναι μια βολική κανονικοποιημένη αναπαράσταση προγράμματος η οποία μπορεί να απλοποιήσει αρκετές στατικές αναλύσεις. Ωστόσο, το υποκείμενο DEX bytecode μιας εφαρμογής Android δεν έχει την ιδιότητα SSA, και απαιτείται περαιτέρω επεξεργασία προκειμένου να την αποκτήσει. Ακόμη, το DEX bytecode περέχει μηδαμινή ρητή πληροφορία τύπων για τις μεταβλητές του προγράμματος, περιορίζοντας έτσι την ακρίβεια των αναλύσεων.

Σε αυτή την πτυχιακή εργασία, αναπτύσσουμε ένα πρόγραμμα Datalog το οποίο μετασχηματίζει μια εφαρμογή Android σε SSA μορφή, επεκτείνοντας ουσιαστικά την λειτουργικότητα του εμπρόσθιου τμήματος του Doop που παράγει DEX facts. Περαιτέρω, παρουσιάζουμε έναν αλγόριθμο εξαγωγής τύπων, προκειμένου να παράξουμε πληροφορία τύπων για τις μεταβλητές που ο μετασχηματισμός μας παρήγαγε.
Κύρια θεματική κατηγορία:
Τεχνολογία – Πληροφορική
Λέξεις-κλειδιά:
στατική ανάλυση προγραμμάτων, μετασχηματισμός προγραμμάτων, dex bytecode, εξαγωγή τύπων
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
4
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
18
Αριθμός σελίδων:
52