Ciao! 👋 I’m Massimo.
I’m a high school teacher and computer scientist based in Italy.
I hold a PhD and an MSc cum Laude in Computer Science from Sapienza University of Rome, focused on formal verification and critical systems design.
I’m passionate about learning new technologies, exploring modern programming paradigms, and having fun building side projects.
On this blog, I share insights on software design and programming from over a decade of work across research and industry.
I hope you like the blog! And if you have any questions, want to say hello, or want to collaborate, feel free to reach out!
Research Work
Predicting the Accuracy of Earthquake Magnitude Estimates with an LSTM Neural Network
This work presents an ambitious neural network aimed at predicting the accuracy of magnitude estimates computed shortly after an earthquake occurs. Machine learning in seismology has been regaining momentum in the past few years due to the increasing availability of seismic datasets. But the complex and heterogeneous nature of earthquakes still represents the main obstacle to a wider adoption of machine learning. The available datasets often turn out not to be appropriate for the automatic training of neural networks. Despite being just a preliminary study, the results demonstrate that machine learning is a viable approach to the problem at hand.
Simulation Based Formal Verification of Cyber-Physical Systems
Cyber-physical systems in critical domains like smart grids and transportation require Simulation-Based Formal Verification (SBFV) to prevent serious, expensive, sometimes fatal failures. However, SBFV is an extremely time-consuming process. In fact, current tools fail at optimizing verification campaigns from existing datasets (e.g. removing redundant simulation scenario prefixes). Moreover, they cannot accurately predict execution times, which makes verification scheduling highly problematic. This work is aimed at overcoming these limitations by introducing a data-intensive verification campaign optimizer and an accurate execution time estimator.