Tesi di laurea | Linee guida di scrittura | Linee guida di sviluppo | Tesi in corso | Tesi svolte
Prima di richiedere la tesi…
Prima di richiedere formalmente la tesi, assicuratevi di avere letto con attenzione questa pagina. Quando infine avrete qualcosa da discutere, contattate il responsabile del Collab, prof. Filippo Lanubile.
Tesi da assegnare – supervisionate da un ricercatore del Collab
Generative AI for Software Engineering
La Generative AI sta introducendo nuove possibilità per supportare e automatizzare diverse attività del ciclo di vita del software. In particolare, i Large Language Models (LLM) possono essere utilizzati per analizzare repository software, classificare automaticamente issue, generare documentazione e supportare gli sviluppatori durante il processo di sviluppo.
In questo ambito, l’attività di ricerca e le relative tesi vertono sull’utilizzo di modelli linguistici pre-addestrati, tecniche di prompt engineering e architetture basate su più agenti intelligenti, che cooperano per svolgere attività di software engineering. Le attività includono lo sviluppo e la valutazione di soluzioni basate su Generative AI per applicazioni nel contesto dello sviluppo software.
MLOps and AI Engineering
Lo sviluppo di sistemi basati su machine learning richiede metodologie e strumenti per gestire in modo strutturato il ciclo di vita dei modelli, dalla fase di sviluppo fino alla loro integrazione e al loro utilizzo in sistemi software.
In questo ambito, l’attività di ricerca e le relative tesi vertono sulla progettazione e sullo sviluppo di pipeline per l’addestramento, il deployment e il monitoraggio dei modelli, nonché sullo studio di tecniche e strumenti per supportare la qualità, l’affidabilità e la sicurezza dei sistemi basati su AI. Le attività includono lo sviluppo e la sperimentazione di soluzioni software per la gestione, l’integrazione e la validazione di modelli di machine learning.
Human Factors in Software Development
Lo sviluppo software è influenzato anche da fattori umani, come emozioni, benessere e modalità di collaborazione tra sviluppatori, che possono incidere sul processo di sviluppo e sulle interazioni all’interno dei team.
In questo ambito, l’attività di ricerca e le relative tesi vertono sullo studio di questi aspetti attraverso l’analisi di dati biometrici, comportamentali e sociali, utilizzando sensori indossabili e tecniche di analisi dei dati. Le attività includono lo sviluppo di strumenti software e l’analisi di dati per studiare il comportamento degli sviluppatori durante le attività di sviluppo software.
Medical AI
L’intelligenza artificiale e la robotica offrono nuove possibilità per lo sviluppo di sistemi software per applicazioni in ambito sanitario, consentendo di affrontare problemi legati all’analisi dei dati clinici e all’automazione di attività ospedaliere.
In questo ambito, l’attività di ricerca e le relative tesi vertono sullo sviluppo e sull’utilizzo di modelli di intelligenza artificiale per dati medici, sulla generazione di dati sintetici e sulla realizzazione di sistemi software per applicazioni cliniche. Le attività includono lo sviluppo e la sperimentazione di soluzioni basate su AI per applicazioni nel settore sanitario.
Robotics Software Engineering
I robot sono sistemi software-intensive: gran parte delle loro capacità dipende dall’architettura software che li governa e dalla sua affidabilità quando il robot opera nel mondo reale, in ambienti dinamici e condivisi con le persone.
In questo ambito, l’attività di ricerca e le relative tesi vertono sulla progettazione di architetture software basate su ROS 2, sull’integrazione di modelli linguistici per il controllo e l’interazione in linguaggio naturale, e su tecniche di testing, monitoraggio a runtime e diagnosi dei guasti. Le attività includono lo sviluppo e la sperimentazione di componenti software per la percezione, la navigazione autonoma, la manipolazione e la cooperazione uomo-robot.
Le tesi si svolgono usando dapprima simulatori software e successivamente robot fisici, sotto la supervisione di componenti del Laboratorio didattico di Robotica (RoboLab). Qui potete consultare le proposte di tesi.

Tesi da assegnare su progetti esterni
Un invito sempre valido è quello di partecipare attivamente a un progetto open source di vostro interesse. Questa è un’opportunità concreta per mettere alla prova e migliorare le vostre capacità, confrontandovi con altri sviluppatori di tutto il mondo. E’ importante che la scelta sia dettata dall’interesse in un’applicazione o una tecnologia, soprattutto se già ne conoscete limiti e pregi: questo renderebbe più semplice l’inizio della collaborazione (ciononostante, ogni vuoto è colmabile). L’applicazione con la quale “provare” la tecnologia potreste averla già individuata oppure potreste trovarla consultando una guida alla contribuzione a un progetto open source. Quello che vi si chiede non è granchè diverso dall’iniziativa Google Summer of Code, in cui un manipolo di studenti valorosi sono ingaggiati per pochi mesi al fine di creare o estendere un progetto di open source software. Nel vostro caso il premio è la tesi di laurea.
