Ingegneria del Software e verifica formale

L’area di ingegneria del software e verifica formale del DI incentra l’attività di ricerca nella realizzazione di metodologie e strumenti innovativi a supporto della progettazione, sviluppo e validazione del software. La ricerca sulla progettazione del software si concentra su architetture smart contracts e blockchain, studiando pattern architetturali solidi e sicuri, e sui fondamenti semantici di sistemi wireless. La verifica del software è investigata secondo molteplici prospettive: (i) analisi statica e interpretazione astratta, anche con riferimento a proprietà (es. intensionali/estensionali) che ne determinano la precisione e allo sviluppo di misure di (im)precisione; (ii) generazione automatizzata di casi di test per rilevare difetti di implementazione e vulnerabilità; (iii) studio di modelli per la progettazione e la verifica formale di sistemi concorrenti, distribuiti e con componenti mobili; e (iv) approcci deduttivi alla verifica automatica del software tramite soddisfacibilità modulo teorie. Queste attività di ricerca sono applicate a molteplici tipologie di sistemi software, inclusi bockchain, smart contracts, REST APIs, smartphone apps, IoT, edge-computing, sistemi ciberfisici, programmi quantistici, software scritti in linguaggi di programmazione dinamici o con molteplici linguaggi di programmazione.
Maria Paola Bonacina
Professore ordinario
Davide Bresolin
Incaricato alla ricerca
Mariano Ceccato
Professore associato
Mila Dalla Preda
Professore associato
Alessandra Di Pierro
Professore associato
Roberto Giacobazzi
Professore ordinario
Zsuzsanna Liptak
Professore associato
Isabella Mastroeni
Professore associato
Massimo Merro
Professore ordinario
Sara Migliorini
Ricercatore a tempo determinato
Federica Maria Francesca Paci
Professore associato
Roberto Posenato
Professore associato
Romeo Rizzi
Professore ordinario
Roberto Segala
Professore ordinario
Ugo Solitro
Ricercatore
Nicola Fausto Spoto
Professore associato
Margherita Zorzi
Professore associato
Competenze
Argomento Persone Descrizione
Software creation and management aderente allo standard  ACM 2012
Blockchain and smart contracts Sara Migliorini
Nicola Fausto Spoto
Blockchain and smart contracts
Sintesi di codice Roberto Giacobazzi
Studio e sviluppo di tecniche per la sintesi di codice (o la trasformazione di codice) dalla specifica di proprietà semantiche del codice.
Software creation and management Federica Maria Francesca Paci
Study and development of formal and semi-formal methodologies and technologies for the creation and management of software systems
Software Testing Mariano Ceccato
Software Testing
Software organization and properties aderente allo standard  ACM 2012
Analisi statica Mila Dalla Preda
Roberto Giacobazzi
Isabella Mastroeni
Nicola Fausto Spoto
Studio di tecniche di analisi statica per linguaggi di programmazione. Inferenza di proprietà della memoria dinamica dei programmi. Inferenza di proprietà di sicurezza per le informazioni manipolate dai programmi.
Quantitative Static Analysis Alessandra Di Pierro
Studio di metodi formali per l'analisi quantitativa dei programmi. Estensione delle tecniche classiche di analisi statica (data-flow, control-flow, abstract interpretation, type systems) all'analisi probabilistica e speculativa.
Verification of wireless networks protocols Massimo Merro
Tecniche semantiche e di model checking, anche statistico, per la verifica della correttezza di protocolli di reti wireless
Design and analysis of algorithms aderente allo standard  ACM 2012
Algoritmi su stringhe Zsuzsanna Liptak
Algoritmi e strutture dati per stringhe e sequenze; strutture dati di indicizzazione per stringhe e sequenze; pattern matching esatto, pattern matching approssimato, misure di distanza tra stringhe, compressione dati; problemi computazionali in biologia, web data, dati testuali, dati musicali; combinatoria delle stringhe, combinatoria delle parole.
Progettazione e analisi algoritmi per grafi Roberto Posenato
Romeo Rizzi
Studio di algoritmi per analisi di vincoli su grafi.
Formal languages and automata theory aderente allo standard  ACM 2012
Teoria della dimostrazione e teoria dei tipi Ugo Solitro
Margherita Zorzi
Sistemi deduttivi e di tipo basati su logiche costruttive e sulla logica lineare
Logic aderente allo standard  ACM 2012
Lambda Calculus Margherita Zorzi
Quantum and Probabilistic lambda calculi. Lambda calculus for Continuation Passing Style. Computational interpretation of modal proofs.
Logiche non classiche (intuizionista, lineare, modale, temporale) Davide Bresolin
modal and temporal logics Margherita Zorzi
Proof theoretical analysis of modal and temporal logics. Modal and temporal logics for security. Distribute logics. Branching a linear temporal logics.
Verifica del software Maria Paola Bonacina
Procedure di decisione per la soddisfacibilità modulo teorie e assegnamenti, e loro applicazione alla verifica di proprietà di programmi; generazione di invarianti, generazione di interpolanti, e raffinamento di astrazioni (per model checking o analisi statica) mediante dimostrazione di teoremi
Models of computation aderente allo standard  ACM 2012
Computability Margherita Zorzi
Quantum and probabilistic computability. Implicit Complexity Theory.
Lambda Calculus Alessandra Di Pierro
Margherita Zorzi
Studio di versioni estese del lambda calcolo tipato, in particolare di sistemi di tipaggio probabilistici e della loro espressività.
Modelli per sistemi ibridi Davide Bresolin
Roberto Segala
Studio di modelli per la rappresentazione di sistemi concorrenti che esibiscono comportamenti sia discreti che continui. Uso dei modelli per l'analisi di sistemi distribuiti di controllo.
Modelli stocastici concorrenti Roberto Segala
Studio di modelli di concorrenza che includono comportamenti stocastici. Uso di tali modelli per l'analisi di sistemi distribuiti e di protocolli che fanno uso di primitive crittografiche.
Models for concurrent, distributed, and mobile systems Massimo Merro
Calcoli di processo per sistemi concorrenti, distribuiti e con mobilita' di codice e/o agenti. Piu' di recente, calcoli di processo per sistemi ciberfisici e sistemi IoT.
Quantum computation theory Margherita Zorzi
Quantum lambda calculi. Topological quantum computing. Quantum computational complexity. Theory of quantum computable functions. Quantum theory of interaction.
Topological Quantum Computation Alessandra Di Pierro
Modelli di calcolo basati su sistemi di riscrittura per il Topological Quantum Computing (TQC). Studio di nuove tecniche algoritmiche basate sul modello matematico alla base di TQC.
Semantics and reasoning aderente allo standard  ACM 2012
Semantica di programmi Mila Dalla Preda
Roberto Giacobazzi
Isabella Mastroeni
Ugo Solitro
Nicola Fausto Spoto
Studio di tecniche di modelli semantici per la caratterizzazione di problemi di analisi e di sicurezza nei linguaggi di programmazione.
Semantics of concurrent, distributed, and mobile systems Massimo Merro
Semantica operazionali per linguaggi concorrenti, distribuiti e con mobilita' di codice e/o agenti. Tecniche di specifica di verifica del buon comportamento di tali sistemi.
Semantics of Probabilistic Languages Alessandra Di Pierro
Margherita Zorzi
Costruzione di semantiche operazionali e denotazionali per linguaggi probabilistici mediante algebre lineari e astratte.
Gruppi di ricerca
Nome Descrizione URL
Algoritmi Il gruppo persegue lo studio degli aspetti strutturali di problemi fondamentali in informatica e dei loro modelli. Lo scopo è porre le basi per la progettazione di algoritmi protocolli e sistemi migliori e comprenderne i limiti computazionali. Aree specifiche di interesse includono: progettazione di algoritimi, strutture dati, algoritmi su stringhe, complessità, ottimizzazione combinatoriale, codici e teoria dell’informazione, machine learning. I problemi investigati hanno forti connessioni con le aree della bioinformatica, delle reti di comunicazione, della ricerca operativa e dell’intelligenza artificiale.
Algoritmi in Bioinformatica e Calcolo Naturale Applicazione di metodi teorici e di analisi dati per modellare l’informazione sottostante ai processi biologici: algoritmi su grafi e stringhe per la biologia dei sistemi; strutture dati avanzate per sequenze di dati; misure di distanza tra sequenze biologiche; calcolo naturale (biotecnologico, e a membrane), riconoscimento di pattern, e apprendimento automatico da dati biomedicali.
ARLette - Laboratorio di Ragionamento Automatico Il gruppo svolge ricerche in Ragionamento Automatico: soddisfacibilità modulo teorie e assegnamenti, procedure di decisione per la soddisfacibilità, dimostrazione di teoremi, costruzione di modelli, riscrittura, e applicazioni.
Basi di dati e Sistemi Informativi Questo gruppo di ricercatori si occupa di varie tematiche nell'ambito dei sistemi informativi http://stars.di.univr.it
Big Data Analytics Questo gruppo di ricerca si occupa di tematiche relative alla rappresentazione, gestione e analisi di grandi quantità di dati caratterizzate in particolare dalla dimensione spaziale e temporale.
Blockchain L'attività del gruppo di ricerca riguarda diverse tematiche relative allo sviluppo e all'applicazione della tecnologia blockchain e dell'infrastruttura degli smart contracts.
ForME - Metodi Formali per la Progettazione di Sistemi Ingegneristici Obiettivo del gruppo di ricerca è applicare metodi formali alla modellazione, verifica e sintesi di sistemi ingegneristici. I domini spaziano dai sistemi temporizzati per andare fino ai sistemi ciberfisici non lineari.
INdAM - Unità di Ricerca dell'Università di Verona Raccogliamo qui le attività scientifiche dell'Unità di Ricerca dell'Istituto Nazionale di alta Matematica INdAM presso l'Università di Verona
Intelligenza Artificiale (IA) Il gruppo svolge ricerche in Intelligenza Artificiale: Ragionamento Automatico, Algoritmi di Ricerca, Rappresentazione della Conoscenza, Apprendimento Automatico, Sistemi Multi-Agenti e applicazioni.
Logica Logica in matematica ed informatica. https://www.logicverona.it/
NeST Progettazione e verifica delle tecnologie di comunicazione in grado di portare efficienza e sostenibilità in applicazioni chiave come industria, agricoltura, domotica, trasporti e gestione del territorio.
Quantum Informatics Laboratory - QUILAB Laboratorio di Informatica Quantistica https://quilab.github.io
SPY
Progetti
Titolo Responsabili Fonte finanziamento Data inizio Durata (mesi) 
PRIN PNRR 2022 - Resource Awareness in Programming: Algebra, Rewriting, and Analysis Isabella Mastroeni MUR - Ministero dell'Università e della Ricerca 30/11/23 24
ODIN - AFOSR USA: ABSTRACT INTERPRETATION DRIVEN PROGRAMMING LANGUAGES Mila Dalla Preda AIR FORCE OFFICE OF SCIENTIFIC RESEARCH 15/09/23 60
Studio e formalizzazione di un algoritmo per il calcolo dinamico del prezzo di noleggio dei veicoli Nicola Fausto Spoto Noleggiare s.r.l. 28/07/23 6
Studio e implementazione di una soluzione software in Go verificata per gestione di identità SPID Nicola Fausto Spoto Tradenet Services SRL 20/04/22 8
Audit Colony Nicola Fausto Spoto Audit Colony SRL 01/11/21 12
SafePKT Nicola Fausto Spoto CJDNS SASU 01/07/21 6
Studio e documentazione del framework di sviluppo Cosmos SDK per la programmazione di reti blockchain Nicola Fausto Spoto Commerc.io srl 01/10/20 2
Integrazione del linguaggio Takamaka di programmazione di smart contract in Java con la blockchain Takamaka e sua documentazione per l’utente Nicola Fausto Spoto Ailia SA 16/06/20 6
The SMArt LAbel as a guarantee tool in the WInery-customer trust relationship for Venetian high quality Pgi wines) SMA.LA.WI Roberto Giacobazzi, Mila Dalla Preda Regione Veneto 01/04/19 36
Implementazione di un framework di programmazione in Java per contratti digitali Nicola Fausto Spoto Ailia SA 01/01/19 12
Sviluppo di tecniche di analisi semantica di codice Java Nicola Fausto Spoto Julia s.r.l. 01/07/17 18
JP2016 - Determinazione anticipata di minacce mediante analisi approssimata di similarità in big-code Mila Dalla Preda Joint Projects - assegnato e gestito dal Dipartimento 01/03/17 24
JP2016 - Interpretazione astratta di COBOL Isabella Mastroeni Joint Projects - assegnato e gestito dal Dipartimento 01/03/17 24
Analisi e sviluppo di tecniche di analisi semantica di codice Java industriale Nicola Fausto Spoto Julia s.r.l. 01/07/15 24
La messa a punto di Strumenti innovativi per la ricerca semantica Nicola Fausto Spoto Corvallis S.p.A. 01/07/15 24
Sistema Software di Pianoforte Virtuale su Tablet PC Nicola Fausto Spoto Viscount International S.p.A. 05/02/15 11
Studio e sperimentazione RIA (Rich Internet Application) per soluzioni web e mobile-RIA Nicola Fausto Spoto Add Value S.p.A. 16/01/15 12
JP2014 - TRENDS - Tecnologie e Risorse per sfruttare i documenti InterNet e i Social media Nicola Fausto Spoto Techne Media Agency s.r.l. 01/01/15 24
JP2014 - Progettazione basata sull'interpretazione e misurazione delle trasformazioni del codice di protezione Roberto Giacobazzi Joint Projects - assegnato e gestito dal Dipartimento 01/11/14 24
Theorem proving algorithms for program analysis: interpolants, models, and termination (PRIN 2012 non finanziato) Maria Paola Bonacina 18/02/13 36
Generalizing Truth-Functionality: GeTFun Luca Vigano' Unione Europea 01/01/13 48
Static Analysis for Multithreading - Joint Project 2011 Massimo Merro Julia s.r.l. 01/01/13 30
MoreGAIN - Mismatch smoothing by smart recordering - Joint Projects 2011 Roberto Giacobazzi Energycamente s.r.l. 01/01/12 24

Attività

Strutture

Condividi