Ph.D. in Computer Science

Postdoctoral Position
Università degli Studi di Milano · Department of Computer Science


I’m currently a postdoctoral research fellow at the Computer Science department of the University of Milan (Italy), where I teach software engineering, and I work in the software engineering research group. During my Ph.D. program, I have been selected to participate at the ACM Student Research Competition and Doctoral Symposium of different editions of the ICSE conference. I received my PhD degree in Computer Science from the University of Milan in 2014. My dissertation focused on the combination of advanced abstraction techniques and big data approaches to tackle the state explosion problem in formal verification. My current research activity focuses on Software Engineering, formal methods, formal Verification, self-adaptive systems, real-time systems, parallel and distributed Systems. I’m especially interested in methods and tools to improve dependability of adaptable and evolvable time-dependent applications. If you want more information about me, you can take a look at my complete Curriculum Vitae.

Research Projects Teaching

Latest News

This section contains my latest news about research and teaching activities.


My main research interests cover the macro-areas of Software Engineering, formal methods and formal Verification with particular focus to methods and tools to improve dependability of time-dependent, adaptable and evolvable applications.

A list of my research papers can be obtained from different sources reported below.


DBLP Computer Science Bibliography
Google scholar
ACM Author Profile
Archivio Istituzionale della Ricerca
arXiv.org E-print server


This section contains my latest software projects.


The MahaRAJA framework is a event-based runtime verification software tool for verifying at runtime the relationship among events and their temporal properties on Java programs.


The ZAFETY framework is a Zone-based approach to specify and verify real-time self-adaptive systems. It relies on a particular modeling technique based on timed extensions of Petri nets. The framework allows the verification of (timed) robustness properties to guarantee self-healing capabilities when higher levels of reliability and availability are required.


Mardigras is a distributed graph building framework able to cope with the State-space explosion problem. The framework is a powerful tool for constructing high-performance distributed applications without the need for the user to care about every non-functional aspects through an easy-to-understand abstraction for programmers.


Graphgen is a software tool for state space analysis of Time-Basic (TB) Petri nets. It builds a symbolic reachability graph relying on a time coverage analysis approach.


BikeMe è un utility Android app per facilitare l'utilizzo del servizio di Bike Sharing della città di Milano.

Smartbreak Project

Requirements analysis and architecture design of the Smart Breack Project, in collaboration with Bialetti Industrie S.p.a.


This section contains my current and past teaching activities.
Past teaching activities: refer to this old web page.

Ingegneria del Software A.A. 2017/18

Corso di laurea triennale in Informatica.
Dipartimento di informatica,
Università degli Studi di Milano.

Ingegneria del Software A.A. 2018/19

Corso di laurea triennale in Informatica.
Università degli Studi del Piemonte Orientale.