Πλοήγηση ανά Επιβλέπων "Zafeiris,Vasileios"
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω
Τώρα δείχνει 1 - 5 από 5
- Αποτελέσματα ανά σελίδα
- Επιλογές ταξινόμησης
Τεκμήριο Implementation of static analysis data structures for the JavaScript language(28-10-2022) Κρικοριάν, Αρμάν; Athens School of Economics and Business, Department of Informatics; Diamantidis, Nikolaos; Zafeiris,VasileiosΑπώτερος στόχος της διατριβής είναι η παρουσίαση και αξιολόγηση της στατικής ανάλυσης κώδικα ως εργαλείου στη διαδικασία ανάπτυξης λογισμικού. Η στατική ανάλυση κώδικα χρησιμοποιείται κυρίως για να υποδείξει λανθασμένες πρακτικές, λάθη και τρωτά σημεία στο λογισμικό. Επιπλέον, μπορεί να χρησιμοποιηθεί για τον προσδιορισμό της συμπεριφοράς και της λειτουργικότητας ενός κώδικα αποκαλύπτοντας τις εξαρτήσεις ροής ελέγχου και δεδομένων. Αυτή η διατριβή προτείνει ένα εργαλείο, το οποίο έχει αναπτυχθεί για τους σκοπούς της παρούσας διπλωματικής εργασίας, το οποίο είναι σε θέση να παράγει έναν γράφο (Program Dependence Graph) από μια συνάρτηση γραμμένη σε γλώσσα JavaScript. Ο γράφος αυτός μπορεί να αποτελέσει ένα πολύ σημαντικό κομμάτι εργαλείων, όπως για παράδειγμα εργαλεία «τεμαχισμού» κώδικα, που χρειάζονται πληροφορίες σχετικά με τις εξαρτήσεις ροής ελέγχου ή τις εξαρτήσεις δεδομένων που μπορεί να υπάρχουν σε ένα κομμάτι κώδικα.Τεκμήριο Patterns and orchestration practices for distributed applications on the Kubernetes platform(18-03-2025) Ζιώρης, Ελευθέριος; Zioris, Eleftherios; Athens University of Economics and Business, Department of Informatics; Diamantidis, Nikolaos; Gkritzalis, Dimitrios; Zafeiris,VasileiosΗ παρούσα διατριβή παρουσιάζει μια εμπειρική ανάλυση των ρυθμίσεων Kubernetes, εστιάζοντας σε πρότυπα σχεδίασης, λανθασμένες διαμορφώσεις και βέλτιστες πρακτικές για αναπτύξεις cloud-native. Η μελέτη ξεκινά με μια λεπτομερή εξερεύνηση της πλατφόρμας Kubernetes, αναλύοντας τη βασική φιλοσοφία, την αρχιτεκτονική και τα συστατικά πόρων της. Αναδεικνύει τη σημασία της δηλωτικής διαμόρφωσης, της αμετάβλητης υποδομής και των μηχανισμών αυτόματης ανάνηψης από σφάλματα για τη δημιουργία επεκτάσιμων και ανθεκτικών περιβαλλόντων διανομής εφαρμογών (Containers). Σε αυτή τη βάση, η διπλωματική εργασία διερευνά ένα ευρύ φάσμα προτύπων σχεδίασης Kubernetes—που περιλαμβάνουν τα θεμελιώδη, συμπεριφορικά, δομικά, διαμορφωτικά και πρότυπα ασφάλειας—προκειμένου να αποκαλύψει πώς αυτές οι πρακτικές συμβάλλουν σε σταθερές και αποδοτικές διανομές. Επιπλέον, παρουσιάζεται μια αυστηρή μεθοδολογία για τη συλλογή, τον καθαρισμό και την ανάλυση πραγματικών αρχείων YAML, αποκαλύπτοντας κοινές λανθασμένες διαμορφώσεις και προσφέροντας πληροφορίες για τη βελτίωση της επιχειρησιακής αποδοτικότητας και της ασφάλειας σε περιβάλλοντα παραγωγής. Συνολικά, η διατριβή γεφυρώνει τα θεωρητικά πλαίσια με πρακτικές στρατηγικές εφαρμογής, παρέχοντας καθοδήγηση για τη βελτιστοποίηση των διανομών Kubernetes σε περίπλοκα συστήματα λογισμικού που διανέμονται σε υποδομές υπολογιστικού νέφους.Τεκμήριο Scheduling the assignment of academic examination supervisions utilizing optimization techniques(30-12-2024) Θεοδούλου, Φάνης; Theodoulou, Fanis; Athens University of Economics and Business, Department of Informatics; Diamantidis, Nikolaos; Gkritzalis, Dimitrios; Zafeiris,VasileiosΣκοπός της διπλωματικής εργασίας είναι η ανάλυση, ο σχεδιασμός και η υλοποίηση ενός συστήματος για την αυτοματοποιημένη ανάθεση εποπτειών σε ένα ακαδημαϊκό πρόγραμμα εξετάσεων. Για την επίτευξη ενός τέτοιου στόχου, προτείνεται η ανάπτυξη μια σύγχρονης διαδικτυακής εφαρμογής που ενσωματώνει τη μηχανή βελτιστοποίησης OptaPlanner για να χειριστεί την ικανοποίηση των περιορισμών και την αυτοματοποιημένη ανάθεση. Ως αφερετηρία στην παρούσα διπλωματική εργασία το Examination Supervision Assignment Problem περιγράφεται ως πρόβλημα χρονοδρομολόγησης και παρουσιάζονται τα χαρακτηριστικά του και οι μεθοδολογίες επιλυσής του. Στη συνέχεια, εξηγείται η μηχανή OptaPlanner καθώς και τα στοιχεία του συστήματός της. Στο τελευταίο μέρος της διπλωματικής, παρουσιάζεται η πραγματική υλοποίηση του πρωτότυπου συστήματος, συμπεριλαμβανομένων των δοκιμών απόδοσης σε διαφορετικές διαμορφώσεις του OptaPlanner και σενάρια προβλήματος.Τεκμήριο Static code analysis techniques for semi-automated application of Domain-Driven Design principles and patterns(17-03-2025) Ηλιόπουλος, Βασίλειος; Iliopoulos, Vasileios; Athens University of Economics and Business, Department of Informatics; Diamantidis, Nikolaos; Gkritzalis, Dimitrios; Zafeiris,VasileiosΤο Domain-Driven Design (DDD) έχει γίνει ένα ουσιαστικό κομμάτι στη σφαίρα της σύγχρονης ανάπτυξης λογισμικού, δίνοντας έμφαση στους τομείς της επιχείρησης και ορίζοντας τα όρια σε σύνθετα συστήματα. Μια θεμελιώδης ιδέα στο DDD είναι το Aggregate, ένα σύμπλεγμα αντικειμένων τομέα που εξασφαλίζει συνέπεια και συνοχή. Αυτή η διατριβή εξετάζει το ρόλο των τεχνικών συσταδοποίησης που βασίζονται σε γραφήματα για την ανακάλυψη συναθροίσεων από δομές στατικού κώδικα και γραφήματα κλήσεων μεταξύ οντοτήτων. Η προτεινόμενη μεθοδολογία χρησιμοποιεί δύο διαφορετικές τεχνικές συσταδοποίησης που βασίζονται σε γραφήματα σε τρεις περιπτωσιολογικές μελέτες: μια πλατφόρμα δημοπρασιών, ένα σύστημα δανειστικής βιβλιοθήκης και ένα σύστημα προγραμματισμού εξετάσεων. Η μία προσέγγιση εξαρτάται από τις αυστηρές σχέσεις και τη συνέπεια των συναλλαγών, που ευθυγραμμίζονται στενά με τις αρχές του DDD, ενώ η άλλη παρέχει συμπληρωματικές ενδείξεις για αρθρωτές συσταδοποιήσεις. Συγκρίνοντας αυτές τις μεθόδους, διερευνούμε τα πλεονεκτήματά τους σε real-world συστήματα, ενώ επισημαίνουμε τι συνεπάγονται για τη δημιουργία αρθρωτών και επεκτάσιμων σχεδίων λογισμικού στη θεωρία και την πράξη. Τέλος, μιλάμε για μελλοντικές επεκτάσεις, όπως αυτοματοποιημένες βελτιώσεις στην ομαδοποίηση, καθώς και για προοπτικές εφαρμογης σε αρχιτεκτονικές μικροϋπηρεσιών.Τεκμήριο Survey: continuous integration & testing(01-11-2018) Καραγιάννης, Θεόδωρος; Karagiannis,Theodoros; Athens University of Economics and Business, Department of Informatics; Malevris, Nikolaos; Zafeiris,VasileiosComputer software has become a part of our everyday life, and many actions are connected with it. A key factor for software companies is to have the ability to release their products fast considering the competition that exists. The main challenge is to keep or even increase the market share. To address this challenge, for the past decade researchers have proposed various techniques for automating the repetitive tasks that happen during software development. Continuous integration (CI) systems automate these repetitive tasks which are the compilation, building, and testing of software and also it is a practice which has emerged to eliminate issues between development and deployment.