Παρακάτω μπορείτε να βρείτε τα νέα θέματα διπλωματικών της Ομάδας Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού. Οι φοιτητές που ενδιαφέρονται για διπλωματική εργασία παρακαλούνται να συμπληρώσουν τη φόρμα έκφρασης ενδιαφέροντος έως και τις 07/03/2025.
Παρουσίαση των θεμάτων και συζήτηση γύρω από τη διαδικασία ανάληψης και εκπόνησης των διπλωματικών θα γίνει την Πέμπτη 27/02/2025 στις 14.00, στο παρακάτω Zoom meeting:
- https://authgr.zoom.us/j/99805670226?pwd=OFlCQ2lzUXkxREJvYXhOUTlTZDQwZz09
- Meeting ID: 998 0567 0226
- Passcode: 082211
Σχετικά αρχεία:
Τέλος, βρείτε σχετικές ερωτήσεις σχετικά με τη διαδικασία επιλογής και τις απαιτήσεις στον παρακάτω σύνδεσμο: Link.
Περιεχόμενα:
- TH-1/ Μοντελοποίηση και υλοποίηση 2D προσομοιωτή έξυπνων περιβαλλόντων
- TH-2/ Ανάπτυξη και Επέκταση Συστήματος Βελτίωσης Ποιότητας Κώδικα μέσω Αντικατάστασης Αποσπασμάτων Κώδικα
- TH-3/ Εντοπισμός Μη-Συντηρήσιμων Τεχνουργημάτων Λογισμικού
- TH-4/ Αυτοματοποιημένη δημιουργία πρωτότυπης εφαρμογής από σχεδιαστικές μακέτες χαμηλής πιστότητας (wireframes) με τη χρήση τεχνικών micro-frontends
- TH-5/ Ανάπτυξη Συστήματος Αξιολόγησης της Προγραμματιστικής Επάρκειας Μεγάλων Γλωσσικών Μοντέλων
- TH-6/ Ανάπτυξη Μεθοδολογίας Αυτοματοποιημένης Μηχανικής Μάθησης (AutoML) για Ροές Δεδομένων (Data Streams)
- TH-7/ Εντοπισμός ελαττωματικού και κακόβουλου κώδικα μέσω στατικής ανάλυσης λογισμικού και μεθόδων τεχνητής νοημοσύνης
- TH-8/ Ανίχνευση κακόβουλων διεργασιών μέσω μετρικών κατανάλωσης πόρων, με χρήση τεχνικών μηχανικής και βαθιάς μάθησης
- TH-9/ Δημιουργία Ιδιωτικού Συστήματος Επιδιόρθωσης Ευπαθειών Ασφαλείας με τη Χρήση Τοπικών Γλωσσικών Μοντέλων
- TH-10/ Μοντελοστρεφής μηχανισμός αυτοματοποίησης της διαδικασίας ανάπτυξης λογισμικού συλλογής και προ-επεξεργασίας δεδομένων από αισθητήρες στο edge
- TH-11/ Ενσωμάτωση μηχανισμών caching, observability και self-healing στην υποδομή διαχείρισης δεδομένων ΙοΤ της πλατφόρμας Nostradamus
- TH-12/ Αυτόματη Κατηγοριοποίηση Κώδικα από Αποθετήρια σε Θεματικές και Εφαρμοσμένες Περιοχές
Μοντελοποίηση και υλοποίηση 2D προσομοιωτή έξυπνων περιβαλλόντων
Ένα από τα δυσκολότερα tasks που έχουν να λύσουν οι προγραμματιστές έξυπνων περιβαλλόντων είναι να ελέγξουν την λύση τους, αφού δεν υπάρχουν ικανά γενικοί ή ευέλικτοι ως προς τις προσθήκες προσομοιωτές. Στα πλαίσια διαφόρων έργων του εργαστηρίου έχει αναπτυχθεί ο προσομοιωτής Streamsim, ο οποίος μπορεί να κάνει simulate έξυπνα περιβάλλοντα με sensors, effectors και entities. Παρ’ όλα αυτά, το να εισαχθεί κάποιο νέο entity είναι χρονοβόρα εργασία που απαιτεί υψηλό τεχνικό skill. Στην παρούσα διπλωματική εργασία θα μεταμοντελοποιηθούν οι λειτουργίες του Streamsim, θα υλοποιηθεί μία κειμενική Γλώσσα Ειδικού Πεδίου (DSL), και θα υλοποιηθεί η αυτόματη παραγωγή κώδικα, ώστε ο προσομοιωτής να είναι εύκολα παραμετροποιήσιμος και επεκτάσιμος.
- Επιθυμητές γνώσεις: Python, Μηχανική Λογισμικού
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Domain-specific Languages, εργαλεία ανάπτυξης DSL όπως textX και Jinja.
- Εκτιμώμενος Χρόνος Περάτωσης: 9-12 Μήνες
- Συνεργαζόμενος Ερευνητής: Τσαρδούλιας Εμμανουήλ, Κωνσταντίνος Παναγιώτου
- Σχετικά links:
Ανάπτυξη & Επέκταση Συστήματος Βελτίωσης Ποιότητας Κώδικα μέσω Αντικατάστασης Αποσπασμάτων Κώδικα
Η ποιότητα του κώδικα αποτελεί βασικό παράγοντα στη συντήρηση και την αξιοπιστία του λογισμικού. Στην υπάρχουσα βιβλιογραφία, πολλά εργαλεία εντοπίζουν προβλήματα ποιότητας, αλλά λίγα είναι σε θέση να προτείνουν διορθώσεις που διατηρούν τη λειτουργικότητα του κώδικα και ταυτόχρονα βελτιώνουν συγκεκριμένες μετρικές ποιότητας. Στόχος της συγκεκριμένης διπλωματικής εργασίας είναι η περαιτέρω ανάπτυξη και επέκταση του συστήματος Quoly, το οποίο εντοπίζει και προτείνει αποσπάσματα κώδικα που διατηρούν τη λειτουργικότητα του αρχικού κώδικα, αλλά παρουσιάζουν βελτιωμένη εικόνα στις μετρικές που ποσοτικοποιούν την ποιότητα.
- Επιθυμητές γνώσεις: Python, Μηχανική Λογισμικού, Επεξεργασία Δεδομένων
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Στατική Ανάλυση Κώδικα, Μηχανική Μάθηση
- Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
- Συνεργαζόμενος Ερευνητής: Καρανικώτης Θωμάς
- Σχετικά links: -
Εντοπισμός Μη-Συντηρήσιμων Τεχνουργημάτων Λογισμικού
Η ικανότητα συντήρησης ενός λογισμικού αποτελεί κρίσιμο χαρακτηριστικό για τη μακροπρόθεσμη βιωσιμότητά του. Ωστόσο, πολλές κλάσεις, συναρτήσεις ή πακέτα κώδικα γίνονται σταδιακά μη συντηρήσιμα λόγω της συσσώρευσης τεχνικού χρέους και της αύξησης της πολυπλοκότητας. Στην υπάρχουσα έρευνα, έχει προταθεί μία μέθοδος ανάλυσης στατικών μετρικών κώδικα για την πρόβλεψη τμημάτων λογισμικού που αναμένεται να καταστούν μη συντηρήσιμα. Η παρούσα διπλωματική εργασία επικεντρώνεται στην πρόβλεψη τμημάτων λογισμικού που αναμένεται να καταστούν μη συντηρήσιμα λόγω της επιδείνωσης συγκεκριμένων στατικών μετρικών ποιότητας. Η μεθοδολογία που έχει ήδη προταθεί αναλύει τις τάσεις των στατικών μετρικών κώδικα για να εντοπίσει κλάσεις, συναρτήσεις ή πακέτα που ενδέχεται σύντομα να γίνουν δυσλειτουργικά και να απορριφθούν από το σύστημα. Στόχος της διπλωματικής είναι η επέκταση αυτής της μεθοδολογίας με τη βελτίωση της πρόβλεψης μέσω συνδυασμού χαρακτηριστικών και την εφαρμογή τεχνικών αναγνώρισης προτύπων στα δεδομένα.
- Επιθυμητές γνώσεις: Python, Μηχανική Λογισμικού, Επεξεργασία Δεδομένων
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Στατική Ανάλυση Κώδικα, Μηχανική Μάθηση
- Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
- Συνεργαζόμενος Ερευνητής: Θωμάς Καρανικιώτης
- Σχετικά links: -
Αυτοματοποιημένη δημιουργία πρωτότυπης εφαρμογής από σχεδιαστικές μακέτες χαμηλής πιστότητας (wireframes) με τη χρήση τεχνικών micro-frontends
Η διπλωματική εργασία επικεντρώνεται στην ανάπτυξη ενός συστήματος που αυτοματοποιεί τη μετάβαση από σχεδιαστικές μακέτες χαμηλής πιστότητας (wireframes) σε λειτουργικά πρωτότυπα, αξιοποιώντας την αρχιτεκτονική των micro-frontends. Το σύστημα αυτό θα αναλύει τα wireframes και θα παράγει κώδικα σε React, χρησιμοποιώντας μια υπάρχουσα βιβλιοθήκη από προσαρμοσμένα React components, διασφαλίζοντας τη συνοχή και τη συμβατότητα με τις βέλτιστες πρακτικές ανάπτυξης. Η χρήση των micro-frontends επιτρέπει τη διάσπαση του frontend σε αυτόνομες, συνεργαζόμενες μονάδες, βελτιώνοντας την επεκτασιμότητα, την επαναχρησιμοποίηση κώδικα και τη δυνατότητα παράλληλης ανάπτυξης διαφορετικών τμημάτων της εφαρμογής. Το σύστημα θα ενσωματώνει έξυπνους μηχανισμούς αντιστοίχισης των στοιχείων των wireframes με React components, αξιοποιώντας αλγορίθμους ανάλυσης εικόνας ή markup αναπαραστάσεων, και θα προσφέρει μια ημι-αυτόματη διαδικασία που επιτρέπει στους προγραμματιστές να προσαρμόζουν τον παραγόμενο UI κώδικα σύμφωνα με τις ανάγκες τους. Με αυτόν τον τρόπο, το έργο στοχεύει στη γεφύρωση του χάσματος μεταξύ σχεδίασης και ανάπτυξης, αυτοματοποιώντας κρίσιμα βήματα και διευκολύνοντας τις ομάδες ανάπτυξης λογισμικού στην παραγωγή επαναχρησιμοποιήσιμων και αρθρωτών UI λύσεων.
- Επιθυμητές γνώσεις: Full Stack/Web development, React, UI Design principles
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Micro-frontends, React
- Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
- Συνεργαζόμενος Ερευνητής: Ουζουνίδης Ηλίας, Καρανικιώτης Θωμάς
- Σχετικά links: -
Ανάπτυξη Συστήματος Αξιολόγησης της Προγραμματιστικής Επάρκειας Μεγάλων Γλωσσικών Μοντέλων
Τα Μεγάλα Γλωσσικά Μοντέλα (LLMs), όπως τα GPTs και το Codex, έχουν αναδειχθεί σε ένα ιδιαίτερα χρήσιμο εργαλείο για την παραγωγή κώδικα, παρέχοντας λύσεις σε προβλήματα προγραμματισμού μέσω ερωτημάτων σε φυσική γλώσσα. Παρ’ όλα αυτά, η ικανότητά τους να κατανοούν και να επιλύουν με ακρίβεια μια ευρεία γκάμα προβλημάτων κώδικα ποικίλλει, ανάλογα με το μέγεθος του μοντέλου, τα δεδομένα εκπαίδευσης και την ποιότητα του κειμένου που λαμβάνουν ως είσοδο (prompts). Σε αυτό το πλαίσιο, η διπλωματική εργασία εστιάζει στη σύγκριση LLMs σε διάφορες κατηγορίες προβλημάτων (όπως αλγόριθμοι, δομές δεδομένων, σενάρια ανάπτυξης λογισμικού), στη δημιουργία σχετικών dataset με μετρικές αξιολόγησης (π.χ. Ποιότητα κώδικα, απόδοση, κ.α.) και στη διερεύνηση προσεγγίσεων prompt engineering που μπορούν να βελτιώσουν τις επιδόσεις των μοντέλων.
- Επιθυμητές γνώσεις: Python, Αλγόριθμοι και δομές δεδομένων
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Επεξεργασία Φυσικής Γλώσσας, LLMs
- Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
- Συνεργαζόμενος Ερευνητής: Δημήτρης Νάστος, Θεμιστοκλής Διαμαντόπουλος
- Σχετικά links:-
Ανάπτυξη Μεθοδολογίας Αυτοματοποιημένης Μηχανικής Μάθησης (AutoML) για Ροές Δεδομένων (Data Streams)
Η Αυτοματοποιημένη Μηχανική Μάθηση (AutoML) έχει εξελιχθεί σε ένα πολύτιμο εργαλείο, τόσο για προγραμματιστές και μηχανικούς, καθώς απλοποιεί σημαντικά τη διαδικασία επιλογής, κατασκευής και βελτιστοποίησης μοντέλων μηχανικής μάθησης, όσο και για άτομα τα οποία δε διαθέτουν απαραίτητα εξειδικευμένες γνώσεις, λόγω της ευχρηστίας της. Δυστυχώς όμως, η εκπαίδευση και η χρήση τέτοιων τεχνολογιών προϋποθέτουν την ύπαρξη μεγάλων, στατικών συνόλων δεδομένων, πράγμα που έρχεται σε αντίθεση με την τάση της εποχής. Τα δεδομένα πλέον χαρακτηρίζονται από μεγάλο όγκο, ταχύτητα και μεταβλητότητα, τα οποία εισάγουν την έννοια της “Ροής Δεδομένων” και δημιουργούν την ανάγκη για τεχνικές και μοντέλα τα οποία μπορούν να εντοπίσουν και προσαρμοστούν σε επικείμενες μεταβολές. Γι’ αυτό το λόγο, σκοπός της παρούσας διπλωματικής είναι η ανάπτυξη και βελτιστοποίηση ενός συστήματος αυτοματοποιημένης μηχανικής μάθησης με εφαρμογή πάνω σε ροές δεδομένων. Στο πλαίσιο αυτό, θα δοθεί έμφαση στην ανάπτυξη δυναμικών μεθόδων για την επιλογή των καταλληλότερων αλγορίθμων κατά περίπτωση, καθώς και στην αποτελεσματική προσαρμογή των μοντέλων στην εμφάνιση μετατοπίσεων δεδομένων (concept/data drifts).
- Επιθυμητές γνώσεις: Python, Αλγόριθμοι Μηχανικής Μάθησης
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Data Streams, Online Machine Learning, Automated Machine Learning
- Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
- Συνεργαζόμενος Ερευνητής: Θάνος Μιχαηλούδης, Θεμιστοκλής Διαμαντόπουλος
- Σχετικά links:
- https://arxiv.org/abs/2106.07317
- https://www.researchgate.net/profile/Marcos-Romero-11/publication/384919486_DQAT_An_Online_Machine_Learning_Framework_for_Real-Time_Data_Quality_Assurance_in_IoT/links/671efb69edbc012ea1427c2e/DQAT-An-Online-Machine-Learning-Framework-for-Real-Time-Data-Quality-Assurance-in-IoT.pdf
- https://link.springer.com/article/10.1007/s41870-024-01727-y
Εντοπισμός ελαττωματικού και κακόβουλου κώδικα μέσω στατικής ανάλυσης λογισμικού και μεθόδων τεχνητής νοημοσύνης
Η συνεχής μετάβαση από παραδοσιακές, on-premise υποδομές σε cloud-based περιβάλλοντα έχει δημιουργήσει νέες προκλήσεις για την ασφάλεια λογισμικού. Στο παρελθόν, ο κακόβουλος ή ελαττωματικός κώδικας διανεμόταν κυρίως σε μορφή δυαδικών αρχείων. Σήμερα όμως, με την εκτεταμένη χρήση πλατφορμών ανοιχτού κώδικα και αυτοματοποιημένων μηχανισμών εκτέλεσης κώδικα, όπως τα GitHub Actions και τα CI/CD pipelines, ο κακόβουλος και ελαττωματικός κώδικας μπορεί να διανεμηθεί απευθείας και ως πηγαίος κώδικας. Αυτό διευρύνει σημαντικά την επιφάνεια επίθεσης, καθώς επιτρέπει την εισαγωγή κακόβουλων τροποποιήσεων σε έργα ανοιχτού κώδικα (π.χ. XZ utils backdoor), αλλά και την εκτέλεση μη ελεγχόμενου κώδικα σε υποδομές τρίτων, επηρεάζοντας μεγάλο αριθμό χρηστών και πόρων. Η παρούσα διπλωματική εργασία θα μελετήσει την αυτοματοποιημένη ανίχνευση ελαττωματικού και κακόβουλου κώδικα σε αποθετήρια λογισμικού, με χρήση τεχνικών Μηχανικής και Βαθιάς Μάθησης. Στόχος είναι ο εντοπισμός μοτίβων που σχετίζονται με ευπάθειες ασφαλείας, εξαγωγή ευαίσθητων δεδομένων, time bombs, remote access trojans (RATs) και άλλες απειλές. Η προσέγγιση αυτή θα συμβάλει στην προστασία της ακεραιότητας των υποδομών, στη διασφάλιση της ιδιωτικότητας των δεδομένων και στην ενίσχυση της ασφάλειας των αποθετηρίων ανοιχτού κώδικα.
- Επιθυμητές γνώσεις: Αναγνώριση Προτύπων, Python
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Cybersecurity, Static Application (Security) Testing, Malware detection, AI/ML/DL/LLMs, Python
- Εκτιμώμενος Χρόνος Περάτωσης: 9-12 Μήνες
- Συνεργαζόμενος Ερευνητής: Νάτσος Δημοσθένης, Γιώργος Σιαχάμης
- Σχετικά links:
- https://www.usenix.org/conference/raid2020/presentation/omar
- https://www.sei.cmu.edu/publications/annual-reviews/2023-research-review/research-review-article.cfm?customel_datapageid_326381=495818&utm_source=chatgpt.com
- https://doi.org/10.1109/NAECON61878.2024.10670668
- https://doi.org/10.1109/ICSE-SEIP52600.2021.00035
- https://www.blackduck.com/blog/detection-strategies-to-unmask-the-source-of-malicious-code.html
Ανίχνευση κακόβουλων διεργασιών μέσω μετρικών κατανάλωσης πόρων, με χρήση τεχνικών μηχανικής και βαθιάς μάθησης
Η συνεχής ψηφιοποίηση των συστημάτων και των υποδομών, σε συνδυασμό με τη ραγδαία ανάπτυξη της τεχνητής νοημοσύνης (AI), του διαδικτύου των πραγμάτων (IoT) και των υποδομών νέφους (Cloud), αυξάνει συνεχώς την επιφάνεια επίθεσης (attack vector) και εντείνει τις απειλές στον κυβερνοχώρο. Για τον εντοπισμό αυτών των απειλών, οι ερευνητές εξετάζουν νέες μεθόδους κάνοντας χρήση τεχνητής νοημοσύνης, και δίνοντας έμφαση στον εντοπισμό malware. Ο στατικός και ο δυναμικός εντοπισμός malware αποτελούν τις δύο επικρατέστερες μεθοδολογίες στον τομέα αυτόν, με τη δεύτερη να υπερέχει κυρίως στον εντοπισμό νέων, άγνωστων ιών (zero-day malware). Πολλές προσεγγίσεις έχουν προταθεί για τον σκοπό αυτόν, όπως η ανάλυση της δικτυακής κίνησης (network traffic), των κλήσεων στο σύστημα αρχείων (filesystem calls) και των κλήσεων συστήματος (system calls), καθώς και η αξιολόγηση μετρικών κατανάλωσης πόρων των διεργασιών (process resource utilization metrics). Όσον αφορά στην τελευταία προσέγγιση, οι υπάρχουσες έρευνες εστιάζουν κυρίως στον εντοπισμό της παρουσίας κακόβουλου λογισμικού σε ένα σύστημα διεργασιών (π.χ. σε ένα Linux-based virtual machine), με στόχο να καθορίσουν αν το σύστημα είναι μολυσμένο ή όχι. Ωστόσο, δεν εμβαθύνουν στον ακριβή εντοπισμό των κακόβουλων διεργασιών που έχουν προσβάλει το σύστημα. Η παρούσα διπλωματική εργασία θα εξετάσει τον εντοπισμό κακόβουλων διεργασιών μέσω μετρικών κατανάλωσης πόρων, αξιοποιώντας τεχνικές μηχανικής και βαθιάς μάθησης (machine learning και deep learning). Παράλληλα, θα εφαρμοστούν τεχνικές Explainable AI (XAI), με στόχο την αναγνώριση των κρίσιμων χαρακτηριστικών που συμβάλλουν στον εντοπισμό malware και τα διαφοροποιούν από τις υπόλοιπες διεργασίες του συστήματος.
- Επιθυμητές γνώσεις: Αναγνώριση Προτύπων, Python, ML/DL Frameworks
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Cybersecurity, Malware Detection, ML/DL, Explainable AI
- Εκτιμώμενος Χρόνος Περάτωσης: 9-12 Μήνες
- Συνεργαζόμενος Ερευνητής: Νάτσος Δημοσθένης, Γιώργος Σιαχάμης
- Σχετικά links:
Δημιουργία Ιδιωτικού Συστήματος Επιδιόρθωσης Ευπαθειών Ασφαλείας με τη Χρήση Τοπικών Γλωσσικών Μοντέλων
Στη σημερινή εποχή, τα Μεγάλα Γλωσσικά Μοντέλα (LLMs) όπως το ChatGPT έχουν αλλάξει σε μεγάλο βαθμό τη διαδικασία παραγωγής λογισμικού, καθώς παρέχουν έναν πολύ γρήγορο και αποδοτικό τρόπο συγγραφής κώδικα. Μια από τις ερευνητικές κατευθύνσεις που είναι σε πρώιμο στάδιο είναι η χρήση των LLMs προκειμένου να αντιμετωπιστούν ζητήματα ασφαλείας. Παρ’όλα αυτά, το γεγονός ότι τα περισσότερα μοντέλα βρίσκονται διαθέσιμα στο Cloud, εν μέρει λόγω των τεράστιων υπολογιστικών απαιτήσεων, αυτομάτως εγείρει ερωτήματα εμπιστευτικότητας και ιδιωτικότητας. Στόχος αυτής της διπλωματικής είναι να δημιουργήσει ένα σύστημα το οποίο θα διενεργεί ελέγχους ασφαλείας (Dynamic Application Security Testing, Static Application Security Testing) σε μια διαδικτυακή εφαρμογή και θα τροφοδοτεί τα αποτελέσματα σε ένα τοπικά εγκατεστημένο LLM, προκειμένου να διορθώσει τα ζητήματα που έχουν προκύψει από τους παραπάνω ελέγχους. Κατόπιν, οι έλεγχοι θα επανα-διενεργούνται προκειμένου να επιβεβαιωθεί η λύση τους.
- Επιθυμητές γνώσεις: JavaScript/Python, LLM Prompting
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Dynamic Application Security Testing, Static Application Security Testing, Automated Code Fixing, LLMs, Prompt Engineering
- Εκτιμώμενος Χρόνος Περάτωσης: 9-12 Μήνες
- Συνεργαζόμενος Ερευνητής: Γιώργος Σιαχάμης, Νάτσος Δημοσθένης
- Σχετικά links:
Μοντελοστρεφής μηχανισμός αυτοματοποίησης της διαδικασίας ανάπτυξης λογισμικού συλλογής και προ-επεξεργασίας δεδομένων από αισθητήρες στο edge
Η ανάπτυξη του λογισμικού ελέγχου (firmware) περιφερειακών συσκευών (όπως αισθητήρες και ενεργοποιητές) αποτελεί μια χρονοβόρα διαδικασία η οποία επίσης απαιτεί γνώσεις από διάφορα πεδία, όπως θεωρία ηλεκτρικών κυκλωμάτων και ηλεκτρονικής, ενσωματωμένων συστημάτων, λειτουργικών συστημάτων (π.χ. Linux kernel), μηχανικής υλικού και λογισμικού κ.α. Στόχος της παρούσας διπλωματικής εργασίας είναι η ανάπτυξη ενός μηχανισμού αυτοματοποίησης, χρησιμοποιώντας τεχνικές μοντελοστρεφούς ανάπτυξης λογισμικού, γλώσσες ειδικού πεδίου και μεγάλα γλωσσικά μοντέλα τεχνητής νοημοσύνης, για την γρήγορη και χωρίς σφάλματα ανάπτυξη του λογισμικού ελέγχου περιφερειακών αισθητήρων και ενεργοποιητών σε edge συσκευές τύπου Raspberry Pi.
- Επιθυμητές γνώσεις: Python, Ενσωματωμένα Συστήματα, Μηχανική Λογισμικού
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Domain-specific Languages, Model-driven Development, Software Automation processes, Low-code development, Embedded Systems
- Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
- Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου
- Σχετικά links:
Ενσωμάτωση μηχανισμών caching, observability και self-healing στην υποδομή διαχείρισης δεδομένων ΙοΤ της πλατφόρμας Nostradamus
H πλατφόρμα Nostradamus φιλοξενεί την υποδομή “IoT Observability”, η οποία χρησιμοποιείται για τη συλλογή και την αποθήκευση δεδομένων από IoT και Edge συσκευές. Η υποδομή αποτελείται από τα εξής: α) REST API για την εξωτερική επικοινωνία, β) Kafka για τη δημιουργία data streams, γ) CassandraDB για την αποθήκευση των δεδομένων, δ) μηχανισμός εκτέλεσης data aggregation και ML pipelines. Στόχος της παρούσας διπλωματικής εργασίας είναι η αξιολόγηση της απόδοσης (π.χ. resource & timing requirements, security & resilience) σε επίπεδο συστήματος, η ενσωμάτωση στο IoT Observability μηχανισμών Caching, System-level Observability και Self-healing, η αξιολόγηση της απόδοσης αυτών και η τελική σύγκριση με το αρχικό σύστημα.
- Επιθυμητές γνώσεις: Κατανεμημένα Συστήματα, Μηχανική Λογισμικού, Τεχνολογίες Cloud
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: DevOps, Cloud technologies, Data Streams, Self-Healing, System-level Observability
- Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
- Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου, Γιώργος Σιαχάμης
- Σχετικά links:
Αυτόματη Κατηγοριοποίηση Κώδικα από Αποθετήρια σε Θεματικές και Εφαρμοσμένες Περιοχές
Στην εποχή της ταχείας ανάπτυξης λογισμικού, όπου εκατομμύρια αποθετήρια κώδικα φιλοξενούνται σε πλατφόρμες όπως το GitHub και το GitLab, η κατανόηση και οργάνωση αυτού του όγκου πληροφορίας αποτελεί κρίσιμη πρόκληση. Η αυτόματη κατηγοριοποίηση και οργάνωση κώδικα σε θεματικούς γράφους στοχεύει στη βελτίωση της αναζήτησης, της επαναχρησιμοποίησης και της κατανόησης λογισμικού, επιτρέποντας στους προγραμματιστές και ερευνητές να εντοπίζουν γρήγορα σχετικές τεχνολογίες και εφαρμογές. Στόχος αυτής της διπλωματικής είναι η υλοποίηση ενός μηχανισμού, ο οποίος μέσω τεχνικών μηχανικής μάθησης, επεξεργασίας φυσικής γλώσσας (NLP) και ανάλυσης κώδικα, αναγνωρίζει τις θεματικές περιοχές στις οποίες ανήκει ένα έργο λογισμικού και το ενσωματώνει σε έναν δυναμικό γράφο γνώσης, αποκαλύπτοντας σχέσεις μεταξύ τεχνολογιών και πεδίων εφαρμογής.
- Επιθυμητές γνώσεις: Python, Αναγνώριση Προτύπων, Μηχανική Λογισμικού
- Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Επεξεργασία Φυσικής Γλώσσας (NLP), Στατική Ανάλυση Κώδικα (Static code analysis), Ανάπτυξη REST API, Ανάλυση και Οπτικοποίηση Γράφων
- Εκτιμώμενος Χρόνος Περάτωσης: 9 - 12 μήνες
- Συνεργαζόμενος Ερευνητής: Θοδωρής Τσαμπούρης, Εμμανουήλ Τσαρδούλιας
- Σχετικά links: