Η στατική ανάλυση στοχεύει στην κατανόηση της συμπεριφοράς του προγράμματος, μέσω αυτοματοποιημένων τεχνικών συμπερασμού που βασίζονται καθαρά στον πηγαίο κώδικα του προγράμματος, αλλά δεν προϋποθέτουν την εκτέλεσή του. Για να πετύχουν αυτές οι τεχνικές μία ευρεία κατανόηση του κώδικα, καταφεύγουν στη δημιουργία ενός αφηρημένου μοντέλου της μνήμης, το οποίο καλύπτει όλες τις πιθανές εκτελέσεις. Αφηρημένα μοντέλα τέτοιου τύπου μπορεί γρήγορα να εκφυλιστούν, αν χάσουν σημαντική δομική πληροφορία των αντικειμένων στη μνήμη που περιγράφουν. Αυτό συνήθως συμβαίνει λόγω χρήσης συγκεκριμένων προγραμματιστικών ιδιωμάτων και χαρακτηριστικών της γλώσσας προγραμματισμού, ή λόγω πρακτικών περιορισμών της ανάλυσης. Σε αρκετές περιπτώσεις, ένα σημαντικό μέρος της χαμένης αυτής δομικής πληροφορίας μπορεί να ανακτηθεί μέσω σύνθετης λογικής, η οποία παρακολουθεί την έμμεση χρήση τύπων, και να χρησιμοποιηθεί προς όφελος της στατικής ανάλυσης του προγράμματος.Στη διατριβή αυτή παρουσιάζουμε διάφορους τρόπους ανάκτησης δομικής πληροφορίας, πρώτα (1) σε προγράμματα C/C++, κι έπειτα, σε προγράμματα γλωσσών υψηλότερου επιπέδου που δεν προσφέρουν άμεση πρόσβαση μνήμης, όπως η Java, όπου αναγνωρίζουμε δύο βασικές πηγές απώλειας δομικής πληροφορίας: (2) χρήση ανάκλασης και (3) ανάλυση μερικών προγραμμάτων. Δείχνουμε πως, σε όλες τις παραπάνω περιπτώσεις, η ανάκτηση τέτοιας δομικής πληροφορίας βελτιώνει άμεσα τη στατική ανάλυση του προγράμματος.Παρουσιάζουμε μία ανάλυση δεικτών για C/C++, η οποία βελτιώνει το επίπεδο της αφαίρεσης, βασιζόμενη σε πληροφορία τύπου που ανακαλύπτει κατά τη διάρκεια της ανάλυσης. Παρέχουμε μία υλοποίηση της ανάλυσης αυτής, στο cclyzer, ένα εργαλείο στατικής ανάλυσης για LLVM bitcode. Έπειτα, παρουσιάζουμε επεκτάσεις σε ανάλυση δεικτών για Java, κτίζοντας πάνω σε σύγχρονες τεχνικές χειρισμού μηχανισμών ανάκλασης. Η βασική αρχή είναι παραπλήσια με την περίπτωση της C/C++: καταγράφουμε τη χρήση των ανακλαστικών αντικειμένων, κατά τη διάρκεια της ανάλυσης δεικτών, ώστε να ανακαλύψουμε βασικά δομικά τους στοιχεία, τα οποία μπορούμε να χρησιμοποιήσουμε έπειτα για να βελτιώσουμε τον χειρισμό των εντολών ανάκλασης στην τρέχουσα ανάλυση, με αμοιβαία αναδρομικό τρόπο. Τέλος, ως προς την ανάλυση μερικών προγραμμάτων Java, ορίζουμε το γενικό πρόβλημα της ((συμπλήρωσης προγράμματος)): δοθέντος ενός μερικού προγράμματος, πως να εφεύρουμε ένα υποκατάστατο του κώδικα που λείπει, έτσι ώστε αυτό να ικανοποιεί τους περιορισμούς των στατικών και δυναμικών τύπων που υπονοούνται από τον υπάρχοντα κώδικα. Ή διαφορετικά, πως να ανακτήσουμε τη δομή των τύπων που λείπουν. Πέραν της ανακάλυψης των μελών (πεδίων και μεθόδων) των κλάσεων που λείπουν, ηικανοποίηση των περιορισμών υποτυπισμού μας οδηγεί στον ορισμό ενός πρωτότυπου αλγοριθμικού προβλήματος: τη συμπλήρωση ιεραρχίας τύπων. Παρέχουμε αλγορίθμους που λύνουν το πρόβλημα αυτό σε διάφορα είδη κληρονομικότητας (μονής, πολλαπλής, μεικτής) και τους υλοποιούμε στο JPhantom, ένα νέο εργαλείο συμπλήρωσης Java bytecode κώδικα.
ΠΙΝΑΞ Χ. Έμφαίνων τήν άντοχήν εις τά συντη ρητικά τών περισσότερον ανθεκτικών καλλιερ γειών ζυμών μετά τάς δοκιμάς "άποπροσαρμογής"
Πρόκειται για έρευνα στην αποκέντρωση των δομών της κεντρικής διοίκησης του Κράτους. Το κύριο μέρος της παρούσας εργασίας αναφέρεται στην ιστορική διαδρομή της αποκεντρωμένης κρατικής διοίκησης από την σύσταση του νεώτερου Ελληνικού Κράτους έως σήμερα και στα δύο συστήματα αποκέντρωσης που εφαρμόστηκαν στην Ελλάδα τα τελευταία 20 έτη και επηρέασαν πολλαπλά τον κοινωνικό μας βίο: Το σύστημα των Κρατικών Περιφερειών (1986/1997) και το σύστημα των Αποκεντρωμένων Διοικήσεων (2010) που το διαδέχτηκε.Είναι λοιπόν μια προσπάθεια συνολικής καταγραφής εννοιολογική, χρονολογική και νομική, της διαδρομής της αποκέντρωσης στη νεώτερη Ελλάδα με έμφαση βεβαίως στα δύο αυτά συστήματα αποκέντρωσης, που αποτελούν και την πιο εκτεταμένη μορφή διοικητικής αποκέντρωσης μέχρι σήμερα, με αποκέντρωση και πολλών και σημαντικών αρμοδιοτήτων στα Περιφερειακά Κρατικά Όργανα.Επίσης,προσπάθεια καταγραφής του βαθμού που συντέλεσαν σε αυτό οι δύο τελευταίες αναθεωρήσεις του Συντάγματος (2001/2008), κατ΄επιταγή των οποίων καταρτίστηκε και ψηφίστηκε ο Ν. 3852/2010.Γίνεται λεπτομερής ανάλυση της λειτουργίας των δύο αυτών συστημάτων, των αρμοδιοτήτων που τους παραχωρήθηκαν και της σχέσης τους με τους Οργανισμούς Τοπικής Αυτοδιοίκησης (ΟΤΑ Α’ και Β΄ βαθμού).Τέλος , επιχειρείται να καταγραφούν τα θετικά και αρνητικά στοιχεία που διαφάνηκαν στο διοικητικό μας σύστημα κατά τον χρόνο εφαρμογής των εν λόγω συστημάτων, κάποιες σύγχρονες τάσεις που τώρα εμφανίζονται και τα συμπεράσματα εξ αυτών και προτάσεις για επίλυση των σημαντικότερων προβλημάτων δυσλειτουργίας που παρατηρήθηκαν κατά τον χρόνο ισχύος τους.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.