Skip to content

Latest commit

 

History

History
201 lines (166 loc) · 41.8 KB

theses_2023_b.md

File metadata and controls

201 lines (166 loc) · 41.8 KB

ISSEL-Announcements

logo

Διαθέσιμες διπλωματικές ISSEL περιόδου Σεπτεμβρίου 2023

Παρακάτω μπορείτε να βρείτε τα νέα θέματα διπλωματικών της Ομάδας Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού. Οι φοιτητές που ενδιαφέρονται για διπλωματική εργασία παρακαλούνται να συμπληρώσουν τη φόρμα έκφρασης ενδιαφέροντος έως και τις 2/10/2023.

Παρουσίαση των θεμάτων και συζήτηση γύρω από τη διαδικασία ανάληψης και εκπόνησης των διπλωματικών θα γίνει την Τρίτη, 26/9/2023, 13:00 – 14:30, στο παρακάτω Zoom meeting:

Τέλος, βρείτε σχετικές ερωτήσεις σχετικά με τη διαδικασία επιλογής και τις απαιτήσεις στον παρακάτω σύνδεσμο: Link.

Περιεχόμενα:


TH-1

Ανάπτυξη αυτοματοποιημένης διαλογικής διεπαφής για σύνολα δεδομένων κειμένου (Chat with your data)

Οι δυνατότητες των νέων γλωσσικών μοντέλων με πιο διάσημο το ChatGPT είναι τεράστιες. Μπορούν και διαχειρίζονται διαλόγους με σχεδόν φυσικό τρόπο ενώ αποτελούν μια ικανοποιητική πηγή γνώσης για στατική πληροφορία, μιας και έχουν εκπαιδευτεί σε τεράστιο όγκο δεδομένων, η ανανέωση των οποίων όμως σταματάει πριν από αρκετούς μήνες. Έτσι, αυτά τα μοντέλα δεν μπορούν να χρησιμοποιηθούν όπως είναι για περιπτώσεις που η πληροφορία που θέλουμε να έχουμε πρόσβαση ανανεώνεται συχνά ή είναι πολύ συγκεκριμένη και πολλές φορές ιδιωτική (π.χ. Οι εσωτερικές διεργασίες μιας εταιρείας). Στόχος αυτής της διπλωματικής είναι να αναπτυχθεί μια εφαρμογή που θα φτιάχνει διαλογικές διεπαφές από συγκεκριμένες πηγές πληροφορίας που θα χρησιμοποιούν τέτοια language models για καλύτερη απόδοση. Έτσι, ένας χρήστης θα μπορεί να ανεβάσει μια βάση δεδομένων ή ένα σετ από κείμενα (πχ PDFs) και η εφαρμογή αυτόματα θα τρέχει όλες τις διεργασίες επεξεργασίας και θα ετοιμάζει την διεπαφή. Ο χρήστης μετά θα έχει διαλογική πρόσβαση στην πληροφορία μέσω ενός web app.

  • Επιθυμητές γνώσεις: Python, Machine Learning
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Language Models, NLP, NLU/NLG, Full stack development
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Νικόλας Μάλαμας
  • Σχετικό link: -

TH-2

Ανάπτυξη plugins γλωσσικών μοντέλων βασιζόμενο σε απαιτήσεις για την προσωποποιημένη εκτέλεση διαλόγων

Οι δυνατότητες των νέων γλωσσικών μοντέλων με πιο διάσημο το ChatGPT είναι τεράστιες. Μπορούν και διαχειρίζονται διαλόγους με σχεδόν φυσικό τρόπο, γράφουν κώδικα, αναλύουν και παράγουν κείμενα, και πλέον μπορούν και αναγνωρίζουν και κατανοούν και εικόνες. Παρά τις εντυπωσιακές τους δυνατότητες, αυτά τα συστήματα, και ιδιαίτερα μάλιστα όταν πρόκειται για closed-source σχήματα, πολύ συχνά δίνουν απρόβλεπτες απαντήσεις που μπορεί να μην είναι κατάλληλες για τους χρήστες. Για παράδειγμα, μπορεί να εμπεριέχουν bias, toxicity, abusive language, violence, ή ακόμα και fake information. Στόχος αυτής της διπλωματικής είναι η ανάπτυξη ενός LLM plugin (είτε σε GPT είτε σε open-source LLMs) το οποίο θα λαμβάνει ένα σύνολο από requirements που πρέπει να πληροί η απάντηση του γλωσσικού μοντέλου και θα φιλτράρει και επεξεργάζεται την απάντηση κατάλληλα. Έτσι, θα προσωποποιεί την απάντηση του στις απαιτήσεις και τις ιδιαιτερότητες του χρήστη. Για παράδειγμα, αν οι χρήστες είναι παιδιά, το LLM πρέπει να χρησιμοποιεί κατάλληλο λεξιλόγιο στις απαντήσεις του, καθώς και να περιορίζει την πρόσβαση των παιδιών σε ακατάλληλου είδους ή σύνθετες πληροφορίες.

  • Επιθυμητές γνώσεις: Python, Machine Learning
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Language Models, NLP, LM plugins
  • Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Νικόλας Μάλαμας
  • Σχετικό link: -

TH-3

Αυτοματοποίηση του deployment ψηφιακών βοηθών σε edge συσκευές χαμηλού κόστους

Οι ψηφιακοί βοηθοί και τα chatbots έχουν αρχίζει να κυριαρχούν τα τελευταία χρόνια παρέχοντας όλο και περισσότερες δυνατότητες. Καθώς η ανάπτυξη αυτών των βοηθών απαιτεί συνήθως αρκετή γνώση του πεδίου, έχουν αναπτυχθεί διάφορα μέτα-μοντέλα ψηφιακών βοηθών με τις αντίστοιχες domain specific languages έτσι ώστε να διευκολυνθεί όλη αυτή η ανάπτυξη τέτοιων συστημάτων. Στο εργαστήριο έχει αναπτυχθεί η dFlow. Αυτό που όμως δεν έχει μελετηθεί είναι το end-to-end deployment τέτοιων βοηθών σε διάφορες συσκευές. Έτσι, στόχος αυτής της διπλωματικής είναι η αυτοματοποίηση της διαδικασίας του deployment τέτοιων ψηφιακών βοηθών σε πληθώρα αρχιτεκτονικών και συσκευών χρησιμοποιώντας την dFlow DSL. Η διαχείριση αυτής της αυτοματοποιημένης διαδικασίας μπορεί να γίνεται μέσω απλών διεπαφών, όπως το Discord. Έμφαση θα δοθεί στο deployment σε edge συσκευές, όπως Raspberry Pi και Jetson Nano, και θα σας ζητηθεί να δημιουργήσετε το CI/CD process, ώστε να μπορείτε να εκτελέσετε ψηφιακούς βοηθούς στις συσκευές και να συγκρίνετε τις διάφορες πιθανές υλοποιήσεις. Μέρος της μελέτης είναι να βρεθούν οι κατάλληλες μετρικές που χρησιμοποιούνται σε τέτοιες περιπτώσεις και να πραγματοποιηθεί ένα benchmarking της κάθε συσκευής. Ταυτόχρονα, τέλος, θα υπάρχει και η σύγκριση με την κλασσική cloud-based αρχιτεκτονική.

  • Επιθυμητές γνώσεις: Python, Machine Learning
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Edge Devices (Raspberry Pi, Jetson Nano), Rasa, DFlow, Virtual Assistants, CI/CD
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Νικόλας Μάλαμας, Κωνσταντίνος Παναγιώτου
  • Σχετικό link: https://github.com/robotics-4-all/dFlow

TH-4

Ανάπτυξη μεθοδολογίας και μονάδας αναγνώρισης ανακυκλώσιμων υλικών με χρήση ετερογενών αισθητήρων

Η συγκεκριμένη διπλωματική εργασία καταπιάνεται με το πρόβλημα της αναγνώρισης ανακυκλώσιμων υλικών, όπως για παράδειγμα τα PET, PET-G, PLA και PCV, τα διάφορα είδη μετάλλων, χαρτιών ή και γυαλιού, χρησιμοποιώντας ετερογενείς αισθητήρες. Θα μελετηθούν τεχνικές φασματοσκοπίας (NIR, FT-IR, FT-NIR κτλ), ανάλυση σε εικόνες από RGB και Thermal (IR φάσμα) κ.α. Στα πλαίσια της εργασίας θα αναπτυχθεί embedded σύστημα λήψης μετρήσεων από σύνολο αισθητήρων και ο αντίστοιχος μηχανισμός/αλγόριθμος αναγνώρισης των υλικών.

  • Επιθυμητές γνώσεις: Γλώσσες προγραμματισμού C/C++ και Python, Machine Learning, Embedded Systems, Microcontrollers, HW design & assembly
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Embedded Systems, Embedded programming, Spectroscopy, Image processing
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου, Μάνος Τσαρδούλιας, Καρανικιώτης Θωμάς
  • Σχετικό link: -

TH-5

Αυτοματοποίηση διαδικασίας δημιουργίας dashboards για απομακρυσμένη επισκόπηση και διαχείριση κυβερνοφυσικών / IoT συστημάτων

Ένα από τα βασικότερα components μίας υποδομής IoT είναι τα user interfaces ή αλλιώς dashboards, αφού (εάν είναι σχεδιασμένα σωστά), επιτρέπουν την επισκόπηση ή τον χειρισμό σύνθετων συστημάτων που μπορεί να απαρτίζονται από δεκάδες ή εκατοντάδες αισθητήρες/components. Στόχος της παρούσας εργασίας είναι η αυτοματοποίηση της διαδικασίας ορισμού και δημιουργίας ενός dashboard με χρήση τεχνικών Model Driven Engineering και micro front-ends. Συγκεκριμένα, θα αναπτυχθεί μία κειμενική γλώσσα (low-code approach), η οποία θα ορίζει τις απαραίτητες πληροφορίες για την λήψη των δεδομένων από τις συσκευές IoT, και θα παράγει ένα dashboard, κατά τα πρότυπα της πλατφόρμας Codin.

  • Επιθυμητές γνώσεις: Full Stack programming (React, Node, Mongo), IoT concepts
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Javascript, MERN stack, AMQP/MQTT protocols, MDE techniques
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Τσαρδούλιας Εμμανουήλ, Κωνσταντίνος Παναγιώτου, Καρανικιώτης Θωμάς
  • Σχετικό link:

TH-6

Δημιουργία συστήματος διαχείρισης εκδόσεων custom πακέτων λογισμικού σε ενσωματωμένα συστήματα χρησιμοποιώντας τεχνολογίες container virtualization

Στα σύγχρονα Κυβερνοφυσικά συστήματα (Cyber-Physical systems), απαιτείται πολλές φορές η απομακρυσμένη αναβάθμιση του λογισμικού ελέγχου των κατανεμημένων συσκευών. Στο πλαίσιο της παρούσας διπλωματικής εργασίας θα αναπτυχθεί υποσύστημα στο υπολογιστικό νέφος, το οποίο θα επιτρέπει την διαχείριση εκδόσεων του λογισμικού ελέγχου για συσκευές που φέρουν Linux-based λειτουργικό σύστημα, χρησιμοποιώντας docker containers. Αντίστοιχα, θα υλοποιηθεί και το τοπικό (εκτελείται στη συσκευή) υποσύστημα ελέγχου και αναβάθμισης, το οποίο θα συνδέεται με το υπολογιστικό νέφος για την ενημέρωση, τη λήψη και την εγκατάσταση των εκδόσεων λογισμικού συσκευής.

  • Επιθυμητές γνώσεις: Python, Linux OS, Bash/Zsh Shell, Docker containers
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Linux OS, Docker containers, Edge Systems, Web & IoT Development
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Τσαρδούλιας Εμμανουήλ, Κωνσταντίνος Παναγιώτου
  • Σχετικό link: -

TH-7

Αυτόματη παραγωγή λογισμικού ελέγχου ρομποτικών συστημάτων

Η ανάπτυξη ρομποτικών συστημάτων είναι μια χρονοβόρα διαδικασία η οποία απαιτεί γνώσεις από διαφορετικά πεδία, όπως προγραμματισμό, θεωρία και αλγορίθμους ρομποτικής, λειτουργικά συστήματα, ενσωματωμένα συστήματα, ανάπτυξη λογισμικού ελέγχου αισθητήρων κ.α. Η παρούσα διπλωματική θα εφαρμόσει μεθοδους Model-driven Engineering και Domain-specific Languages για την περιγραφή ρομποτικών συστημάτων χρησιμοποιώντας έννοιες υψηλού επιπέδου και την αυτόματη παραγωγή του λογισμικού για το εκάστοτε ρομπότ.

  • Επιθυμητές γνώσεις: Linux OS, Software Engineering, Robotics Operating System (ROS), Python
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Model-driven engineering, Domain-specific languages, Low-code development, ROS & ROS2, Meta-modeling, Software automation
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου, Μάνος Τσαρδούλιας
  • Σχετικό link: -

TH-8

Low-code ανάπτυξη εφαρμογών αυτοματισμού διεργασιών σε έξυπνα περιβάλλοντα

O χώρος των έξυπνων υποδομών (smart infrastructures/environments) είναι διεπιστημονικός και απαιτεί γνώσεις από διάφορα επιστημονικά και εφαρμοσμένα πεδία, όπως το διαδίκτυο των πραγμάτων (Internet of Things - IoT), τα Κυβερνο-φυσικά συστήματα, τα ενσωματωμένα και κατανεμημένα συστήματα, την Μηχανική λογισμικού, τον προγραμματισμό κ.α. Στα πλαίσια έρευνας και ανάπτυξης του εργαστηρίου ISSEL, έχει αναπτυχθεί μια γλώσσα ειδικού πεδίου (Domain-specific Language - DSL), η SmAuto, η οποία δίνει την δυνατότητα ανάπτυξης εφαρμογών χρησιμοποιώντας αφαιρετικές έννοιες, χρησιμοποιώντας τεχνικές μοντελοστρεφούς σχεδίασης και μηχανές αυτόματης παραγωγής του λογισμικού από μοντέλα περιγραφής. Η παρούσα διπλωματική εργασία έχει ως στόχο την ανάπτυξη μιας low-code πλατφόρμας στο υπολογιστικό νέφος, μέσω της οποίας οι χρήστες θα μπορούν να σχεδιάσουν τα μοντέλα περιβάλλοντος και εφαρμογών SmAuto χρησιμοποιώντας γραφικές αναπαραστάσεις, να επικυρώσουν την ορθότητα αυτών, να παράξουν τον πηγαίο κώδικα και να εκτελέσουν τις εφαρμογές σε απομονωμένα εικονικά περιβάλλοντα. Επίσης, η πλατφόρμα θα παρέχει τη δυνατότητα αποθήκευσης και διανομής των SmAuto μοντέλων μέσω ενός δημόσιου αποθετήριου (repository).

  • Επιθυμητές γνώσεις: Model-driven engineering, Domain-specific languages, Low-code development, Meta-modeling, Web development
  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Model-driven engineering, Domain-specific languages, Low-code development, Meta-modeling, Web development
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου, Μάνος Τσαρδούλιας
  • Σχετικό link:

TH-9

Ανάπτυξη Low-code πλατφόρμας σχεδίασης Κυβερνοφυσικών συστημάτων

Η σχεδίαση και ανάπτυξη σύγχρονων Κυβερνο-φυσικών συστημάτων, στο πλαίσιο του IoT, είναι μια εξαιρετικά χρονοβόρα διαδικασία, η οποία απαιτεί γνώσεις από διάφορες εφαρμοσμένες επιστήμες, όπως η Ρομποτική, το IoT, τα ενσωματωμένα συστήματα και την ενσωμάτωση και χρήση αισθητήρων (sensors) και ενεργοποιητών (actuators), την δικτύωση και την επικοινωνία σε κατανεμημένα συστήματα και υβριδικές αρχιτεκτονικές Edge και Cloud. Στόχος της συγκεκριμένης διπλωματικής εργασίας είναι η ανάπτυξη μιας low-code πλατφόρμας στο υπολογιστικό νέφος, η οποία θα χρησιμοποιεί την γλώσσα CPS-ML και τα εργαλεία αυτής για την μοντελο-στρεφή σχεδίαση χρησιμοποιώντας γραφικούς συμβολισμούς (visual notations) και την αυτόματη παραγωγή αρχείων και διαγραμμάτων περιγραφής των προδιαγραφών του συστήματος. Επίσης, η πλατφόρμα θα παρέχει τη δυνατότητα επικύρωσης, αποθήκευσης και διανομής των CPS-ML μοντέλων μέσω ενός δημόσιου αποθετήριου (repository).

  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Model-driven engineering, Domain-specific languages, Low-code development, Meta-modeling, Web development
  • Εκτιμώμενος Χρόνος Περάτωσης: 9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Κωνσταντίνος Παναγιώτου, Μάνος Τσαρδούλιας
  • Σχετικό link:

TH-10

Ανάλυση συμμόρφωσης πηγαίου κώδικα με τεχνικές μηχανικής μάθησης

Οι Συμφωνίες Διαμοιρασμού Δεδομένων (DSAs) είναι νομικές συμφωνίες που διέπουν τους όρους και τις προϋποθέσεις με τις οποίες δεδομένα μπορούν να μοιραστούν μεταξύ διαφόρων μερών. Αυτές καθορίζουν τον τρόπο με τον οποίο τα δεδομένα πρέπει να διαχειρίζονται, να χρησιμοποιούνται και να προστατεύονται. Για να διασφαλιστεί η συμμόρφωση των εφαρμογών με τους όρους των DSAs συνήθως απαιτείται μη αυτόματη επιθεώρηση των όρων και αξιολόγηση της συμπεριφοράς του κώδικα, από νομικούς και τεχνικούς εμπειρογνώμονες. Στόχος αυτής της διπλωματικής είναι η ανάπτυξη αυτοματοποιημένων και έξυπνων εργαλείων για την ανάλυση και την κατανόηση πηγαίου κώδικα, με σκοπό την αξιολόγηση του εάν ο κώδικας συμμορφώνεται και τηρεί τους όρους και τις προϋποθέσεις που τίθενται από τέτοιες συμφωνίες. Ο παραπάνω στόχος θα επιτευχθεί με τη χρήση τεχνικών μηχανικής μάθησης και επεξεργασίας φυσικής γλώσσας, προσφέροντας ένα ευέλικτο και αποτελεσματικό μέσο για τη διασφάλιση της συμμόρφωσης του κώδικα με τους κανονισμούς και τη γεφύρωση του γνωστικού χάσματος μεταξύ νομικών και τεχνικών εμπειρογνωμόνων.

  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: NLP, NLU, Machine Learning, Python, Cybersecurity
  • Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Δημοσθένης Νάτσος, Δημήτρης Νάστος
  • Σχετικό link: -

TH-11

Ανάλυση διαλόγων προγραμματιστών με το ChatGPT με εφαρμογή στο διαγωνισμό MSR Mining Challenge 2024

Τα μεγάλα γλωσσικά μοντέλα (LLM - Large Language Model) έχουν τελευταία αλλάξει το τοπίο της ανάπτυξης λογισμικού. Μοντέλα όπως το ChatGPT μπορούν να χρησιμοποιηθούν πλέον από προγραμματιστές για τη γρήγορη συγγραφή κώδικα, την αποσφαλμάτωση, ακόμα και την κατανόηση του κώδικα [1]. Σε αυτό το πλαίσιο, προκύπτουν πολλαπλά ερωτήματα όσον αφορά τη χρησιμότητα του συγκεκριμένου εργαλείου, τον τρόπο που επιλέγουν συνήθως να το χρησιμοποιούν οι προγραμματιστές, την ποιότητα των απαντήσεων που παρέχει, κ.α. Στο πλαίσιο του διαγωνισμού MSR Mining Challenge 2024 [2] δίνεται ένα σύνολο δεδομένων από διαλόγους προγραμματιστών με το ChatGPT [3]. Το σύνολο δεδομένων περιλαμβάνει επίσης τμήματα κώδικα, καθώς και σχετικά μετα-δεδομένα που αφορούν τον εκάστοτε διάλογο (π.χ. συνδεδεμένα commits και issues από το GitHub). Τα δεδομένα αυτά μπορούν να χρησιμοποιηθούν για την απάντηση πληθώρας ερωτημάτων όπως τι είδους ζητήματα συνήθως απαντώνται στο ChatGPT (π.χ. επίλυση σφαλμάτων), πώς αξιοποιούν τον επιστρεφόμενο κώδικα οι προγραμματιστές (τον χρησιμοποιούν ως έχει ή κάνουν αλλαγές), πώς συγκρίνεται η ποιότητα του επιστρεφόμενου κώδικα με αυτόν που θα έπαιρνε κανείς από ιστοσελίδες ερωταπαντήσεων (π.χ. Stack Overflow), κ.α. Στόχος της διπλωματικής είναι να αναζητήσει σε ερευνητικό επίπεδο τα ερωτήματα που ενδιαφέρουν τόσο θεωρητικά όσο και πρακτικά την κοινότητα των προγραμματιστών και να προσδιορίσει τις απαντήσεις σε αυτά με βάση τα δεδομένα διαλόγων που δίνονται.


TH-12

Σχεδίαση και ανάπτυξη διαλογικού βοηθού (bot) για την ανάλυση εργασιών λογισμικού από δεδομένα συστημάτων ελέγχου εκδόσεων

Η ταχεία εξάπλωση του διαδικτύου και το πρότυπο του λογισμικού ανοικτού κώδικα έχουν αλλάξει ριζικά τον τρόπο ανάπτυξης λογισμικού τα τελευταία χρόνια. Τα έργα λογισμικού σήμερα αναπτύσσονται συνεργατικά σε διαδικτυακά αποθετήρια λογισμικού, όπως το GitHub, που επιτρέπουν αποτελεσματικό έλεγχο εκδόσεων (version control), αλλά και διαχείριση του έργου (π.χ. καταγραφή σφαλμάτων, ανάθεση εργασιών στους προγραμματιστές, κ.α.). Τα συστήματα αυτά περιέχουν πλήθος χρήσιμων πληροφοριών που αφορούν τα commits, τα issues (bugs κ.α.) και το ανθρώπινο δυναμικό ενός έργου λογισμικού. Ως εκ τούτου, τα δεδομένα τους μπορούν να αξιοποιηθούν κατά τη διαδικασία ανάπτυξης λογισμικού, απαντώντας διάφορα χρήσιμα ερωτήματα, όπως ποιος είναι ο πιο συχνός τύπος σφάλματος, σε ποια αρχεία γίνονται πιο συχνά αλλαγές, ακόμα και ποιος είναι ο κατάλληλος προγραμματιστής για να επιλύσει ένα σφάλμα (με βάση την εμπειρία του σε αντίστοιχα ζητήματα). Τα παραπάνω ερωτήματα απαιτούν αποτελεσματική εξόρυξη δεδομένων, αλλά και κατάλληλο τρόπο επικοινωνίας με τον τελικό χρήστη (μηχανικό/ομάδα ανάπτυξης του έργου). Στο πλαίσιο αυτό, ο σκοπός της διπλωματικής είναι η σχεδίαση ενός διαλογικού βοηθού (bot) που θα αυτοματοποιεί τη διαδικασία ανάλυσης εργασιών και συνολικά τη σωστή διαχείριση εργασιών με βάση δεδομένα από συστήματα ελέγχου εκδόσεων. Το bot που θα αναπτυχθεί θα πρέπει να μπορεί να εξάγει τη χρήσιμη πληροφορία από αποθετήρια μέσω τεχνικών ανάλυσης δεδομένων και να απαντήσει σε ερωτήματα φυσικής γλώσσας.

  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Εξόρυξη Δεδομένων, Μηχανική Λογισμικού, Επεξεργασία Φυσικής Γλώσσας
  • Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Διαμαντόπουλος Θεμιστοκλής, Δημήτρης Νάστος
  • Σχετικό link: Abdellatif, Ahmad, Khaled Badran, and Emad Shihab. "MSRBot: Using bots to answer questions from software repositories." Empirical Software Engineering 25 (2020): 1834-1863, available online https://arxiv.org/pdf/1905.06991.pdf

TH-13

Εφαρμογή τεχνικών μηχανικής μάθησης για ροές δεδομένων σε δεδομένα διαδικασιών λογισμικού

Τα τελευταία χρόνια, η τεχνολογία λογισμικού ακολουθεί ένα συνεργατικό μοντέλο που βασίζεται στην ανάπτυξη λογισμικού ανοικτού κώδικα σε διαδικτυακά αποθετήρια λογισμικού, όπως το GitHub. Τα αποθετήρια αυτά επιτρέπουν την αποτελεσματική διαχείριση έργων λογισμικού, αποθηκεύοντας τις εκδόσεις του κώδικα (version control), καταγράφοντας τα διάφορα ζητήματα που προκύπτουν (π.χ. καταγραφή σφαλμάτων, ανάθεση εργασιών στους προγραμματιστές, κ.α.), καθώς και τις ενέργειες και συζητήσεις των μελών της ομάδας ανάπτυξης (π.χ. σχόλια, pull requests). Στον τομέα της αποθήκευσης και ανάλυσης αποθετηρίων, οι εργασίες αυτές συχνά αποτελούν συνεχόμενες ροές μεγάλων δεδομένων (ενδεικτικά στο GitHub για το 2022 καταγράφηκαν περισσότερες από 3.5 δισεκατομμύρια συνεισφορές, δηλαδή περίπου 400000 commits/issues/pull requests την ημέρα). Η εφαρμογή τεχνικών μηχανικής μάθησης σε αυτές τις ροές μπορεί να εξάγει πλήθος χρήσιμων πληροφοριών σε πολλαπλά επίπεδα, π.χ. χαρτογραφώντας και αναλύοντας τις συνεισφορές στα έργα λογισμικού [1], αναγνωρίζοντας ασυνήθιστα γεγονότα (όπως π.χ. issues που δεν κλείνουν ποτέ bugs που επανεμφανίζονται) [2], κα. Ωστόσο, το μέγεθος και η πολυπλοκότητα των δεδομένων συχνά δεν επιτρέπει την αποθήκευση τους [3] και την ανάλυσή τους με κλασικές τεχνικές μηχανικής μάθησης [4]. Στο πλαίσιο αυτό, σκοπός της εργασίας είναι η υλοποίηση ενός συστήματος διαχείρισης μεγάλων δεδομένων για ροές δεδομένων ανάπτυξης λογισμικού (π.χ. από το GH Archive) που θα επιτρέπει την on-the-fly εφαρμογή τεχνικών μηχανικής μάθησης για την εξαγωγή χρήσιμων συμπερασμάτων.

  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Python, Μηχανική Μάθηση, Μηχανική Λογισμικού, Μηχανική Δεδομένων
  • Εκτιμώμενος Χρόνος Περάτωσης: 6-9 Μήνες
  • Συνεργαζόμενος Ερευνητής: Διαμαντόπουλος Θεμιστοκλής, Δημήτρης Νάστος
  • Σχετικό link:
    • [1] Lima, Antonio, Luca Rossi, and Mirco Musolesi. "Coding together at scale: GitHub as a collaborative social network." Proceedings of the international AAAI conference on web and social media. Vol. 8. No. 1. 2014, available online: link
    • [2] Treude, Christoph, Larissa Leite, and Mauricio Aniche. "Unusual events in GitHub repositories." Journal of Systems and Software 142 (2018): 237-247, available online: https://ctreude.files.wordpress.com/2018/04/jss18.pdf
    • [3] Voinov, Nikita, et al. "Big data processing system for analysis of GitHub events." 2019 XXII International Conference on Soft Computing and Measurements (SCM)). IEEE, 2019, available online: https://sci-hub.se/10.1109/scm.2019.8903782
    • [4] Nguyen, Hai-Long, Yew-Kwong Woon, and Wee-Keong Ng. "A survey on data stream clustering and classification." Knowledge and information systems 45 (2015): 535-569, available online: link

TH-14

Μελέτη Τεχνικών Ημι-επιβλεπόμενης Μάθησης για Κατηγοριοποίηση Κειμένου

Η κατηγοριοποίηση κειμένου είναι μια βασική ερευνητική περιοχή του τομέα της Επεξεργασίας Φυσικής Γλώσσας και χρησιμοποιείται σε ζητήματα όπως ο εντοπισμός ανεπιθύμητων μηνυμάτων, ρητορικής μίσους κ.α.. Η επίλυση των ζητημάτων αυτών στηρίζεται κυρίως σε γλωσσικά μοντέλα, τα οποία εκπαιδεύονται σε μεγάλα σύνολα κατηγοριοποιημένων δεδομένων. Πολλές φορές όμως, δεν υπάρχει διαθέσιμος ικανός αριθμός τέτοιων δεδομένων και είναι αναγκαία η αναζήτηση εναλλακτικών λύσεων. Μια τεχνική η οποία μπορεί να χρησιμοποιηθεί σε αυτές τις περιπτώσεις είναι η ημι-επιβλεπόμενη μάθηση (semi-supervised learning), που συνδυάζει τη χρήση τόσο κατηγοριοποιημένων όσο και μη κατηγοριοποιημένων δεδομένων για τη βελτιστοποίηση της απόδοσης μοντέλων, αξιοποιώντας τις πληροφορίες που περιέχονται στα μη κατηγοριοποιημένα δεδομένα. Στο πλαίσιο της προτεινόμενης διπλωματικής εργασίας, θα μελετηθούν διάφορες μέθοδοι ημι-επιβλεπόμενης μάθησης, με σκοπό την ανάπτυξη αποτελεσματικών μοντέλων για διάφορα ζητήματα κατηγοριοποίησης κειμένου για τα οποία υπάρχει ανεπαρκής αριθμός δεδομένων.

  • Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν: Natural Language Processing, Semi-Supervised Learning, Deep Learning
  • Εκτιμώμενος Χρόνος Περάτωσης: 9-12 Μήνες
  • Συνεργαζόμενος Ερευνητής: Δημήτρης Νάστος
  • Σχετικό link: https://link.springer.com/article/10.1007/s10462-023-10393-8