GraDiaS is a software to approximate the diameter of large graphs.

The software is used for the experiments in the paper "Space and Time Efficient Parallel Graph Decomposition, Clustering, and Diameter Approximation" by Matteo Ceccarello, Andrea Pietracaprina, Geppino Pucci, and Eli Upfal.


M3 is an Hadoop library for performing dense and sparse matrix multiplication in MapReduce. The library is based on the multi-round algorithms which exploit a 3D decomposition of the problem.

The library is described in the paper "Experimental Evaluation of Multi-Round Matrix Multiplication on MapReduce".

Random Graph Visualizer

Small program to explore interactively the properties of random graphs. It allows to set the number of nodes and the average node degree.

Written in Clojurescript and D3, the source code is available at Github.

GSoC 2013

During the summer of 2013 I continued my work on Java PathFinder as part of my Google Summer of Code.

GSoC 2012

During the summer of 2012 I worked on the open source project Java PathFinder as part of my Google Summer of Code. My work regarded the automatic generation of so-called model classes and the automatic check of the correctness of existing ones. For more details see projects and publications below.


I’m currently involved in a research project focused on the evaluation of performance and accuracy of ranking algorithms. My role in the team is to manage and extend the crawler that is exploring the web.


As part of my B.S. thesis in Information Engineering I’ve worked on an OpenOffice plugin to be used in notary offices. The goal of this software is to automatically fill the forms and modules that a notary has to send to relevant bodies. This happens in the background while the user is writing the notarial deed.