Nicola Fausto Spoto

Fausto Spoto,  September 23, 2024
Position
Associate Professor
Role
Professore Associato
Academic sector
INFO-01/A - Informatics
Research sector (ERC-2024)
PE6_3 - Software engineering, programming languages and systems

PE6_4 - Theoretical computer science, formal methods, automata

Research sector (ERC)
PE6_3 - Software engineering, operating systems, computer languages

PE6_4 - Theoretical computer science, formal methods, and quantum computing

Office
Ca' Vignal 2,  Floor 1,  Room 90
Telephone
+39 045 802 7940
E-mail
fausto|spoto*univr|it <== Replace | with . and * with @ to have the right email address.

Office Hours

Wednesday, Hours 2:30 PM - 3:30 PM,   Ca' Vignal 2, Floor 1, room 90
Friday, Hours 5:30 PM - 6:30 PM,   Ca' Vignal 2, Floor 1, room 90

Curriculum

Fausto Spoto si occupa di:

  1. Analisi e verifica di software, in particolare di codice scritto in linguaggi a oggetti, finalizzata a inferire proprietà di correttezza e sicurezza del codice analizzato;
  2. Sviluppo di strumenti di analisi statica, con particolare attenzione alla loro scalabilità, affidabilità e mantenibilità;
  3. Ingegneria del software, specificamente di tecniche, strumenti e metodologie di programmazione;
  4. Tecniche per lo sviluppo metodologico di applicazioni concorrenti e mobili, in particolare nei linguaggi Java e Android; primitive per la concorrenza, librerie concorrenti, modelli di sviluppo di codice Android affidabile;
  5. Linguaggi e tecniche per lo sviluppo e l'analisi di smart contract per blockchain.

Le sue pubblicazioni vertono principalmente nell'ambito dell'analisi statica e dell'ingegneria del software.
Le sue competenze si rivolgono a società che sviluppano software, di dimensione medio-grande, interessate alla progettazione e implementazione di applicazioni complesse, anche in ambito mobile e concorrente, con metodologie e tecniche che ne aumentino la qualità ingegneristica e la correttezza.

Modules

Modules running in the period selected: 89.
Click on the module to see the timetable and course details.

Course Name Total credits Online Teacher credits Modules offered by this teacher
PhD in Computer Science Introduction to Blockchain (2024/2025)   3   
Bachelor's degree in Bioinformatics Introduction to Programming (2024/2025)   12  eLearning PROGRAMMAZIONE PER BIOINFORMATICA (Teoria 1)
LABORATORIO DI PROGRAMMAZIONE I (Laboratorio 1)
LABORATORIO DI PROGRAMMAZIONE I (Esercitazioni 1)
Bachelor's degree in Computer Science Programming II and Software Engineering (2024/2025)   12  eLearning PROGRAMMAZIONE II (Laboratorio)
PROGRAMMAZIONE II (Teoria)
Bachelor's degree in Bioinformatics Introduction to Programming (2023/2024)   12  eLearning PROGRAMMAZIONE PER BIOINFORMATICA
Bachelor's degree in Computer Science Programming II and Software Engineering (2023/2024)   12  eLearning PROGRAMMAZIONE II (Teoria)
PROGRAMMAZIONE II (Laboratorio)
Bachelor's degree in Bioinformatics Introduction to Programming (2022/2023)   12  eLearning PROGRAMMAZIONE PER BIOINFORMATICA
Bachelor's degree in Computer Science Programming II and Software Engineering (2022/2023)   12  eLearning PROGRAMMAZIONE II (Laboratorio)
PROGRAMMAZIONE II (Teoria)
Bachelor's degree in Bioinformatics Introduction to Programming (2021/2022)   12  eLearning LABORATORIO DI PROGRAMMAZIONE I
PROGRAMMAZIONE PER BIOINFORMATICA
Bachelor's degree in Computer Science Programming II and Software Engineering (2021/2022)   12  eLearning PROGRAMMAZIONE II (Teoria)
PROGRAMMAZIONE II (Laboratorio)
Bachelor's degree in Bioinformatics Introduction to Programming (2020/2021)   12  eLearning LABORATORIO DI PROGRAMMAZIONE I
PROGRAMMAZIONE PER BIOINFORMATICA
Bachelor's degree in Computer Science Programming II and Software Engineering (2020/2021)   12  eLearning PROGRAMMAZIONE II (Laboratorio)
PROGRAMMAZIONE II (Teoria)
Master's degree in Computer Science and Engineering The course provides an introduction to blockchain technology. It focuses on the technology behind Bitcoin, Ethereum, Tendermint and Hotmoka. (2020/2021)   3   
Bachelor's degree in Bioinformatics Introduction to Programming (2019/2020)   12  eLearning PROGRAMMAZIONE PER BIOINFORMATICA
LABORATORIO DI PROGRAMMAZIONE I
Bachelor's degree in Computer Science Programming II and Software Engineering (2019/2020)   12  eLearning PROGRAMMAZIONE II (Laboratorio)
PROGRAMMAZIONE II (Teoria)
Bachelor's degree in Bioinformatics Introduction to Programming (2018/2019)   12  eLearning PROGRAMMAZIONE PER BIOINFORMATICA
LABORATORIO DI PROGRAMMAZIONE I
Bachelor's degree in Computer Science Programming II and Software Engineering (2018/2019)   12  eLearning PROGRAMMAZIONE II (Laboratorio)
PROGRAMMAZIONE II (Teoria)
Bachelor's degree in Bioinformatics Introduction to Programming (2017/2018)   12  eLearning LABORATORIO DI PROGRAMMAZIONE I
PROGRAMMAZIONE PER BIOINFORMATICA
Bachelor's degree in Computer Science Programming II and Software Engineering (2017/2018)   12  eLearning PROGRAMMAZIONE II
Professional Master's programme in Computer game development Fundamentals of Software Engineering (2017/2018)   2   
Master's degree in Computer Science and Engineering Automated System Verification (2016/2017)   6   
Bachelor's degree in Computer Science Programming II and Software Engineering (2016/2017)   12  eLearning PROGRAMMAZIONE II
Master's degree in Computer Science and Engineering Automated System Verification (2015/2016)   6   
Bachelor's degree in Computer Science Programming II (2015/2016)   6    (Laboratorio)
(Teoria)
Bachelor's degree in Computer Science Languages and compilers (2014/2015)   12    COMPILATORI
Bachelor's degree in Computer Science Programming II (2014/2015)   6    (Laboratorio)
(Teoria)
Bachelor's degree in Computer Science Programming I (2013/2014)   12    (Teoria)
Bachelor's degree in Computer Science Programming II (2013/2014)   6    (Laboratorio)
(Teoria)
Bachelor's degree in Computer Science Programming I (2012/2013)   12    (Teoria)
Bachelor's degree in Computer Science Programming II (2012/2013)   6    (Laboratorio)
(Teoria)
Bachelor's degree in Computer Science Programming I (2011/2012)   12    (Teoria)
Bachelor's degree in Computer Science Programming II (2011/2012)   6    (Laboratorio)
(Teoria)
Bachelor's degree in Computer Science Programming I (2009/2010)   12    (Teoria)
(Laboratorio)
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2008/2009)   5    Laboratorio
Teoria
Bachelor's degree in Languages and Cultures for Tourism and International Commerce Information Technology [I semestre] (2008/2009)   3   
Bachelor's degree in Multimedia Information Technology (until 2008-2009) Introduction to Programming (2008/2009)   12    Laboratorio
Teoria
Degree in Foreign Languages and Literatures Applied Information Technology (2007/2008)   3     
Bachelor's degree in Business Administration (category 17) (until 2008-2009) Basic Information Technology Skills (2007/2008)   2   
Degree in International Business Studies (Vicenza) (until 2008-2009) Basic Information Technology Skills (2007/2008)   2   
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2007/2008)   5    Laboratorio
Teoria
Bachelor's degree in Sport and Exercise Science (until 2005-2006) Information Technology (2007/2008)   5   
Degree in Foreign Languages and Literatures Information Technology (2007/2008)   3     
Bachelor's degree in Multimedia Information Technology (until 2008-2009) Introduction to Programming (2007/2008)   12    Teoria
Laboratorio
Degree in International Business Studies (Vicenza) (until 2008-2009) Basic Information Technology Skills (2006/2007)   2   
Bachelor's degree in Business Administration (category 17) (until 2008-2009) Basic Information Technology Skills (2006/2007)   2   
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2006/2007)   5   
Degree in Foreign Languages and Literatures Information Technology (2006/2007)   3     
Bachelor's degree in Sport and Exercise Science (until 2005-2006) Information Technology (2006/2007)   5   
Bachelor's degree in Multimedia Information Technology (until 2008-2009) Introduction to Programming (2006/2007)   12    Teoria
Bachelor's degree in Business Administration (category 17) (until 2008-2009) Basic Information Technology Skills (2005/2006)   2   
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2005/2006)   5   
Bachelor's degree in Sport and Exercise Science (until 2005-2006) Information Technology (2005/2006)   5   
Bachelor's degree in Multimedia Information Technology (until 2008-2009) Introduction to Programming (2005/2006)   12    Teoria
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2004/2005)   5     
Masters in Computer Science Functional Languages (2004/2005)   5     
Bachelor's degree in Sport and Exercise Science (until 2005-2006) Information Technology (2004/2005)   5     
Bachelor in Computer Science (until 2008-2009 academic year) Introduction to Programming [Sezione A] (2004/2005)   12      Laboratorio
Bachelor in Public Administration Economics and Management Basic Information Technology Skills (2003/2004)   3     
Bachelor's degree in Company Economics (cat. 17) Basic Information Technology Skills (2003/2004)   3     
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2003/2004)   5     
Masters in Computer Science Programming Languages and Special Techniques (2003/2004)   5     
Bachelor in Computer Science (until 2008-2009 academic year) Compilers (2002/2003)   5     
Masters in Computer Science Programming Languages and Special Techniques (2002/2003)   5     
Bachelor in Computer Science (old system) Compilers (2001/2002)   1     
Bachelor in Computer Science (old system) Programming Languages (2001/2002)   1     
Bachelor in Computer Science (until 2008-2009 academic year) Programming Languages and Compilers (2001/2002)   10     

News for students

There you will find information, resources and services useful during your time at the University (Student’s exam record, your study plan on ESSE3, Distance Learning courses, university email account, office forms, administrative procedures, etc.). You can log into MyUnivr with your GIA login details: only in this way will you be able to receive notification of all the notices from your teachers and your secretariat via email and also via the Univr app.

MyUnivr

Di seguito sono elencati gli eventi e gli insegnamenti di Terza Missione collegati al docente:

  • Eventi di Terza Missione: eventi di Public Engagement e Formazione Continua.
  • Insegnamenti di Terza Missione: insegnamenti che fanno parte di Corsi di Studio come Corsi di formazione continua, Corsi di perfezionamento e aggiornamento professionale, Corsi di perfezionamento, Master e Scuole di specializzazione.

Research groups

Blockchain
This research group deals with several topics related to the development and the application of the emerging blockchain technology and the smart contract infrastructure.
SPY
Research interests
Topic Description Research area
Static Analysis Study of techniques for the static analysis of programming languages. Inference of properties of the heap memory used by programs. Inference of security properties for information manipulated by computer programs. Software Engineering and Formal Verification
Software organization and properties
Blockchain and smart contracts Blockchain and smart contracts Software Engineering and Formal Verification
Software creation and management
Program semantics Development of semantic models for characterizing security and analysis problems of programming languages Software Engineering and Formal Verification
Semantics and reasoning
Projects
Title Starting date
In search of evidence of stealth cyber threats - COVERT 6/1/24
Organisation of informative events for the small and medium enterprises of the Veneto region and production of digital contents. 9/1/23
Study and formalization of an algorithm for the dynamic determination of the renting price of vehicles. 7/28/23
Study and implementation of a verified solution in Go for dealing with SPID authentication. 4/20/22
Audit Colony 11/1/21
SafePKT 7/1/21
Study and documentation of the Cosmos SDK for programming blockchains 10/1/20
Integration between the Takamaka language for smart contracts in Java and the blockchain Takamaka, with user documentation. 6/16/20
Implementation of a Java Framework for Smart Contracts 1/1/19
Development of Semantic Analysis Techniques for Java Code 7/1/17
La messa a punto di Strumenti innovativi per la ricerca semantica 7/1/15
Analisi e sviluppo di tecniche di analisi semantica di codice Java industriale 7/1/15
Sistema Software di Pianoforte Virtuale su Tablet PC 2/5/15
Studio e sperimentazione RIA (Rich Internet Application) per soluzioni web e mobile-RIA 1/16/15
TRENDS - Technologies and Resources for Exploiting interNet Documents and Social media - Joint Projects 2014 1/1/15
Static analysis methods for the static derivation 6/5/13
Theorem proving algorithms for program analysis: interpolants, models, and termination (PRIN 2012 non finanziato) 2/18/13
Analysis, verification and synthesis of hw/sw systems through synergies of abstract interpretation and automated reasoning 6/1/12
Combinazione di analisi e sintesi di programmi: co-generazione di astrazioni e raffinamenti per l'analisi e la sintesi di programmi (PRIN 2009 valutato positivamente ma non finanziato) 7/15/11
Analisi e protezione del software mediante interpretazione astratta (PRIN 2007) 9/22/08
Modelli e metodi per la verifica composizionale (PRIN 2006) 2/9/07
Certificazione automatica di sistemi mediante interpretazione astratta (PRIN 2004) 11/30/04
Abstract interpretation and model checking for the verification of embedded systems 2/21/03
(CoVer) Constraint-based Verification of Reactive systems 12/1/02
Abstract Interpretation, type systems and control-flow analysis 11/26/00




Organization

Department facilities

Share