Science is a differential equation.
Religion is a boundary condition.
I am currently a Junior Group Leader at CodeLounge, headed by Marco D'Ambros and Prof. Dr. Michele Lanza. My main responsibilities include leading the technical decisions for CodeLounge's projects, and a lot of actual development, mostly on the backend side.
I am passionate about functional programming in many flavors, languages like Scala and reactive technologies like Akka. I teach a course on Engineering of Domain Specific Languages at the Master in Software and Data Engineering.
In the past, I've been a postdoctoral researcher in the REVEAL group headed by Prof. Dr. Michele Lanza of the Software Institute. My general research interests include software behavioral modeling, testing and analysis, lightweight formal methods, program comprehension, software design and mining software repositories. I got my B.Sc., M.Sc. and PhD at Politecnico di Milano, where I have been advised by Prof. Carlo Ghezzi of deepse group.
During my PhD, I developed a technique to model, recover and validate software specifications from a behavioral point of view. If you are interested in my work, you can check my publications and the homepage of my technique spy. I mainly contributed to the ERC Grant Sms-Com and to the S-Cube European Network of Excellence.
During my PhD I also enjoyed teaching a lot. I have been TA for many computer science courses, from introductory courses to programming to theoretical computer science and algorithms.
In 2011, I joined the Software Design Group at MIT CSAIL with a scholarship paid by the Roberto Rocca foundation. I worked on advances of Alloy and the Alloy analyzer involving partial instances and incremental solving.
For more details you can check my full cv.
We appreciate our debt to electrical engineering, without which there would be no computers. Indeed, computer science is to electrical engineering as the art of making love is to the art of making beds.
Role | Conference |
---|---|
PC member (TD Track) | FSE 2016 |
PC co-chair (NIER/TD Track) | VISSOFT 2016 |
PC member (TD Track) | ICSME 2016 |
PC member (Main Track) | MSR 2016 |
PC member (Main Track) | IWESEP 2016 |
PC member (Main Track) | SANER 2016 |
PC member (NIER/TD Track) | VISSOFT 2015 |
PC member (TD Track) | ESEC/FSE 2015 |
PC member | ICE 2015 |
PC member (ACM SRC) | ICSE 2015 |
PC member | Score-it 2015 |
PC member | MUD 2014 |
There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature.
Your first 10,000 photographs are your worst.