HEAL DSpace

Προγράμματα Python

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Σαλής, Βιτάλιος el
dc.contributor.author Salis, Vitalios en
dc.date.accessioned 2022-02-07T09:46:47Z
dc.date.available 2022-02-07T09:46:47Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/54580
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.22278
dc.rights Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ *
dc.subject Γλώσσες Προγραμματισμού el
dc.subject Python el
dc.subject Γράφοι κλήσεων συναρτήσεων el
dc.subject Ανίχνευση σφαλμάτων κλει­διού el
dc.title Προγράμματα Python el
dc.contributor.department Εργαστήριο Τεχνολογίας Λογισμικού el
heal.type bachelorThesis
heal.classification Γλώσσες Προγραμματισμού el
heal.language el
heal.language en
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2021-06-28
heal.abstract Η στατική ανάλυση προγραμμάτων ενέχει προκλήσεις, ειδικά στο πλαίσιο γλωσσών υψηλού επιπέδου, όπως η Python, η οποία είναι modular και ενσωματώνει δυναμικά χαρακτηριστικά και συναρτήσεις υψηλού επιπέδου. Προτείνουμε ένα επεκτάσιμο πλαίσιο για την στατική ανάλυση Python προγραμμάτων και έχουμε υλοποιήσει ένα αντίστοιχο πρωτότυπο. Το πρωτότυπο μας λειτουργεί μέσω του υπολογισμού όλων των σχέσεων ανάθεσης μεταξύ των αναγνωριστικών συναρτήσεων, μεταβλητών, κλάσεων, και modules μέσω μιας διασυναρτησιακής ανάλυσης χωρίς ευαισθησία περιβάλλοντος. Με βάση αυτές τις σχέσεις αναθέσεων, υλοποιούμε δύο επεκτάσεις της ανάλυσης μας: (1) παραγωγή γράφων κλήσεων συναρτήσεων και (2) ανίχνευση σφαλμάτων κλειδιού. Οι γράφοι κλήσεων συναρτήσεων είναι κατευθυνόμενοι γράφοι που επισημαίνουν σχέσεις κλήσεων μεταξύ υπορουτινών. Παίζουν σημαντικό ρόλο σε διάφορα πλαίσια, όπως την δημιουργία προφίλ κώδικα και την ανάλυση διάδοσης ευπαθειών. Έχουμε επεκτείνει την ανάλυση μας ώστε να παράγουμε γράφους κλήσεων συναρτήσεων και έχουμε αξιολογήσει την μέθοδο μας σε δύο σημεία αναφοράς: μια βιβλιοθήκη από Python προγράμματα μικρής εμβέλειας και μια βιβλιοθήκη από πραγματικά Python πακέτα μεγάλης εμβέλειας. Τα αποτελέσματα της αξιολόγησης δείχνουν πως η μέθοδός μας ξεπερνάει τις υπάρχουσες κορυφαίες μεθόδους για την Python σε ακρίβεια (99.2%) καθώς και σε ανάκληση (69.9%). Οι μη έγκυρες προσβάσεις σε πίνακες κατακερματισμού συμβαίνουν όταν ένας πίνακας διασχίζεται με ένα στοιχείο το οποίο δεν αντιστοιχεί σε κάποιο από τα κλειδιά του. Σε αυτή τη περίπτωση, η Python παράγει ένα σφάλμα κλειδιού και τερματίζει. Η ανίχνευση πιθανών σφαλμάτων κλειδιού μπορεί να είναι κρίσιμης σημασίας, ειδικά για εφαρμογές στην παραγωγή. Για να αντιμετωπίσουμε αυτά τα ρίσκα, έχουμε επεκτείνει την ανάλυση μας ώστε να μπορεί να ανιχνεύει μη έγκυρες προσβάσεις σε πίνακες κατακερματισμού, και την αξιολογούμε σε μια βιβλιοθήκη από μικρά Python προγράμματα και σε ένα σύνολο από υποβολές φοιτητών για ένα μεταπτυχιακό μάθημα που σχετίζεται με την ανάλυση δεδομένων. Τα αποτελέσματα μας υποδεικνύουν πως η μέθοδός μας μπορεί να ανιχνεύσει σφάλματα κλειδιού σε πολλές περιπτώσεις στην Python, ενώ μπορεί να βοηθήσει προγραμματιστές να βρουν πιθανά σφάλματα κλειδιού κατά την διάρκεια της συγγραφής κώδικα. el
heal.advisorName Παπασπύρου, Νικόλαος el
heal.committeeMemberName Σαγώνας, Κωνσταντίνος el
heal.committeeMemberName Γκούμας, Γεώργιος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Τεχνολογίας Λογισμικού el
heal.academicPublisherID ntua
heal.numberOfPages 88 σ. el
heal.fullTextAvailability false


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα