Ambiti di ricerca

Foundations of Computer Science, Computational Life Sciences and Bioinformatics

La macro-area si compone di due principali aree di ricerca che sono trasversali rispetto all'approccio metodologico, attento agli aspetti fondazionali di tematiche di ricerca derivanti dalle scienze computazionali per la vita. La prima area privilegia lo studio degli aspetti teorici e fondazionali della computazione, modellazione e simulazione di sistemi complessi e lo sviluppo di metodologie algoritmiche innovative: ambiti motivati da contesti applicativi quali la biologia e la fisica che pongono la necessità di definire fondamenti computazionali. In tale contesto si inseriscono due principali obiettivi specifici. Il primo si focalizza sul disegno e sperimentazione di metodologie algoritmiche esatte, approssimanti, evolutive o di machine learning mirate a trattare grandi moli di dati in vari contesti applicativi, principalmente legati all’analisi e integrazione di dati biologici. Il secondo obiettivo si focalizza sullo studio della potenza computazionale e delle proprietà di modelli di calcolo ispirati da leggi fisiche e biologiche, quali i sistemi a membrane (membrane systems o P systems) e i reaction systems, con la definizione di classi di complessità associate e il confronto con modelli classici come le macchine di Turing e le macchine RAM, e sulla estensione e studio di specifiche proprietà composizionali di modelli, quali le Reti di Petri. Gli ambiti applicativi in questo contesto comprendono la biologia e vari aspetti della simulazione di sistemi complessi in condizioni di incertezza, la sicurezza e il controllo. La seconda area di ricerca si colloca nell’ambito delle scienze computazionali per la vita ed affronta vari aspetti algoritmici e computazionali di genomica, trascrittomica e filogenetica in Bioinformatica, simulazione e modellazione di processi in biologia computazionale e nello specifico della biologia dei sistemi. Le attività in questa area sono ampie e complementari. Le principali linee di ricerca attive nell’ambito dei fondamenti sono: 

  • studio della struttura algebrica e delle proprietà logiche dello spazio degli stati locali dei sistemi concorrenti, 
  • modelli di calcolo per la descrizione di fenomeni e sistemi reali (in particolare automi cellulari),
  • introduzione nel machine learning di aspetti di incertezza, quali soft clustering, alberi di decisione generalizzati, inferenza su basi dati possibilistiche, 
  • studio della potenza computazionale e della efficienza computazionale di membrane systems (P systems) e di reaction systems,
  • algoritmi e strutture dati succinte per l’indicizzazione e interrogazione di grandi collezioni di testi fortemente simili,
  • computazione general-purpose con GPU. 

Nell’ambito scienze computazionali per la vita e bioinformatica, le principali linee di ricerca attive sono:

  • algoritmi di predizione eventi di splicing da dati NGS, assemblaggio dati NGS e algoritmi per la ricostruzione e comparazione di alberi filogenetici con applicazioni alla cancer genomics,
  • algoritmi e modelli per l’inferenza della evoluzione di mutazioni tumorali da grandi moli di dati di sequenziamento single-cell o bulk,
  • algoritmi di simulazione deterministica e stocastica per sistemi biologici, 
  • modelli meccanicistici e constraint based di sistemi biologici,
  • machine learning e deep learning per la classificazionedi sottotipi di tumore.

 

Recentemente è attiva nell’ambito dello sviluppo algoritmi in Fondamenti una nuova direzione di ricerca sulla Sicurezza Informatica principalmente focalizzata allo sviluppo ed implementazione di algoritmi e ai protocolli crittografici.

Software Engineering and Architecture

L’area affronta diversi temi di ricerca legati allo sviluppo dei sistemi software, con particolare attenzione alla progettazione, alla verifica di qualità, e alla manutenzione ed evoluzione dei sistemi software. L’attività di ricerca sulla progettazione del software riguarda soprattutto la definizione, lo sviluppo e la sperimentazione di nuovi modelli architetturali e di opportune metodologie e strumenti per affrontare i domini applicativi emergenti. L’attività di ricerca sulla qualità del software riguarda soprattutto la definizione di metodi per la validazione e la verifica dei sistemi software, la definizione di tecniche per il test, l'analisi dinamica e statica dei programmi e la realizzazione di sistemi self-healing. Infine, l’attività di ricerca sulla manutenzione dei sistemi software riguarda soprattutto la definizione, lo sviluppo e la sperimentazione di tecniche di reverse engineering per la manutenzione del software e per le gestione del debito tecnico.  L’attività di ricerca svolta in questa area è ampia e variegata, le principali linee di ricerca in atto sono:

  • la definizione e sperimentazione di soluzioni architetturali per sistemi multimodali,
  • la definizione e sperimentazione di tecniche di self-healing e runtime enforcement per ambienti Mobile e Cloud,
  • la definizione di tecniche per il monitoraggio del software, il riconoscimento e la predizione dei fallimenti, e la riparazione automatica dei difetti, in particolare in ambiente Cloud e Mobile,
  • la generazione automatica di casi di test di unità e di sistema, utilizzando tecniche di esecuzione simbolica, search-based e apprendimento automatico,
  • lo sviluppo di tecniche per identificare e quantificare il livello di debito tecnico di un progetto software e per evitare il degrado dell’architettura software,
  • lo studio di tecniche di machine learning per il riconoscimento di anomalie progettuali e la definizione delle corrispondenti tecniche di refactoring per risolverle.

Web and Information Systems

Le attività di ricerca svolte in questa macro-area afferiscono alla Data Science e sono finalizzate allo sviluppo di modelli e tecniche a supporto dei processi di gestione e di analisi di varie tipologie di dati. In particolare si considerano molteplici aspetti relativi al ciclo di vita dei dati, che includono acquisizione, trasformazione, organizzazione, diverse tipologie di analisi, estrazione di conoscenza, e interazione con gli utenti. 

Si possono distinguere due principali filoni di ricerca: il primo comprende Information Retrieval, Text Mining e analisi di social media, mentre il secondo comprende l’intersezione di discipline contigue e complementari quali Interazione Uomo-Macchina, Sistemi Informativi, Sistemi Distribuiti e Data Semantics. Nel primo filone, i principali interessi riguardano la definizione di modelli, tecniche e sistemi finalizzati a garantire un accesso personalizzato a informazioni su Web, l’analisi e la rappresentazione concettuale di testi, l’estrazione di informazioni da testi (text mining), l’analisi dell’evoluzione delle informazioni, e l’analisi predittiva dei contenuti generati dagli utenti nei social media. Nel secondo filone, vengono affrontati, in maniera spesso congiunta, problemi riguardanti tre macro-tematiche: a) l’interazione uomo-macchina, con particolare attenzione all’interazione umana con artefatti, la progettazione di interfacce grafiche e la visualizzazione dei dati; b) l’interoperabilità semantica tra sistemi per la gestione di dati, conoscenze e servizi, con particolare attenzione alla realizzazione di applicazioni aperte, adattive e distribuite in cloud mediante architetture a servizi, integrazione semantica, e analisi della qualità; c) il valore nei sistemi informativi, con particolare attenzione al valore di informazioni e servizi. Le linee di ricerca più attive in questo momento, includono: 

Area Information Retrieval: 

  • Definizione di modelli e sistemi per la ricerca personalizzata e per la raccomandazione di informazioni in vari contesti applicativi.
  • Definizione di modelli per la rappresentazione semantica di testi e per l’analisi dell’evoluzione della conoscenza nel tempo su social media.
  • Definizione di modelli utente basati su analisi del linguaggio naturale.
  • Analisi delle informazioni generate dagli utenti nei social media. 

 

Area Interazione Uomo-Macchina e Sistemi Informativi Distribuiti e Semantici:

  • Progettazione, Analisi, Sviluppo e Valutazione dell'usabilità di sistemi interattivi visuali per l'esplorazione e l'analisi di grandi quantità di dati.
  • Tecniche di arricchimento semantico di dati strutturati a supporto di applicazioni di Data Science.
  • Tecniche di composizione di API basate su descrizioni semantiche. 
  • Modelli di profilazione, qualità e valore di dati e servizi. 

Intelligent sensing (Robotics, Real-Time Systems and Computer Vision)

L'attività in questa area si focalizza su tematiche di ricerca di base e industriale che comprendono 1) vari aspetti dell’analisi ed elaborazione di diverse tipologie di dati multimediali e sensoriali, 2) la robotica e 3) intelligent sensing in sistemi in tempo reale. L’attività di ricerca sulla tematica 1) si focalizza sullo sviluppo di algoritmi e tecniche per l’analisi ed il trattamento dei segnali digitali, con particolare attenzione, ai segnali multimediali (audio, immagini e video), a segnali fisiologici (elettroencefalogramma, elettrocardiogramma, risposta galvanica della pelle, pressione sanguigna, temperatura) e a segnali psicofisici (eye tracker). 

Inoltre si occupa di progettazione e sviluppo di metodi innovativi di Computer Vision, Pattern Recognition, Machine Learning, Artificial Intelligence e Multimedia applicati a diverse tipologie di dati con particolare specializzazione nel trattamento di immagini, video e dati provenienti da sensori multimodali. L’attività di ricerca invece sulla robotica si focalizza sui sistemi per la percezione del mondo da parte di robot autonomi, in particolare mapping dell'ambiente di lavoro del robot, localizzazione e scene understanding and tracking,L’attività di ricerca su sistemi in tempo reale si sviluppa su strumenti concettuali e computazionali per comprendere e controllare sistemi complessi che evolvono nel tempo, passando attraverso una serie di stati macroscopici, ognuno caratterizzato da uno specifico set di regole dipendenti da dati raccolti in tempo reale.

Le linee di ricerca principali attive sono:

  • trattamento, analisi e classificazione di segnali multimediali, nell’ambito dell’affective signal processing, e dell’analisi dei social network;
  • integrazione di dati fisiologici multimodali per la classificazione di stati cognitivi, emotivi, o per individuare eventuali patologie (ad es prosopagnosia cioè incapacità di riconoscere i volti) o malattie legate all’invecchiamento;
  • Internet of Things e Autonomous Driving;
  • esecuzione cross-media in robotica, ad es. localizzazione con camere in mappe costruite con LIDAR;
  • Wearable Expert System Development, integrazione fra sistemi basati sulla conoscenza e tecnologie indossabili per costruire sistemi di raccomandazione in domini dipendenti dal tempo;
  • utilizzo di tecniche di machine learning, in particolare il case-based reasoning, per l’analisi e il supporto di decisioni in domini caratterizzati da dati eterogenei. 

Artificial Intelligence and Decision Systems

Quest’area di ricerca del Dipartimento riguarda temi di ricerca tradizionalmente legati all’Intelligenza Artificiale oltre a metodi, tecniche, modelli e applicazioni per il supporto alle decisioni. In particolare, sono oggetto di ricerca e applicazione modelli di inferenza basata su tecniche di rappresentazione e gestione della conoscenza, e tecniche di inferenza statistica; vengono progettati e sperimentati modelli e algoritmi di apprendimento a partire da dati strutturati, semi-strutturati e non strutturati; vengono progettati metodi computazionali per affrontare problemi di ottimizzazione per data analytics; vengono progettati e sperimentati approcci di Intelligenza Artificiale distribuita (sistemi multi-agente) per la modellazione e simulazione di sistemi complessi, naturali o artificiali. All’interno dell’ampio spettro di sfide di ricerca associate a quest’area, le principali linee di ricerca in corso sono: 

  • disegno, sviluppo e applicazione di sistemi basati sulla conoscenza per il supporto alle decisioni; 
  • definizione di tecniche di apprendimento ed inferenza da dati eterogenei generati in contesti relazionali, integrando analisi di contenuto e di struttura (analisi di dati social network, text analytics); 
  • definizione di tecniche di ottimizzazione globale stocastica e apprendimento per rinforzo (per l’ottimizzazione degli iperparametri di algoritmi di machine learning e configurazione automatica degli algoritmi, per il monitoraggio e controllo di sistemi complessi); 
  • sviluppo di modelli e algoritmi di apprendimento automatico ed ottimizzazione per data analytics (text analytics e text mining, time series analysis, clustering); 
  • sviluppo e applicazione di algoritmi di apprendimento strutturale e parametrico per continuous time Bayesian networks (anche con applicazioni a reti regolatorie geniche); 
  • sviluppo e sperimentazione di modelli basati su agenti di sistemi complessi naturali o artificiali (ad es. traffico veicolare o pedonale).