June 1985


Assistant Professor (Ricercatore a Tempo Determinato A) at University of Pisa, since February 2016.

Past Position:

  • Research Fellow at University of Pisa. March 2015 — January 2016
  • Research Fellow at University of Milan, hosted by LAW, Laboratory for Web Algorithmics (NADINE FET EU project). March 2013 — February 2015.


  • PhD degree in Computer Science at University of Florence, advised by Prof. Pierluigi Crescenzi (From January 2010 to December 2012). Subject: Algorithms for Biological Graphs: Analysis and Enumeration. PhD defence: April 29th 2013.
  • Master’s Degree cum Laude in Computer Science at University of Florence; 1 A.Year instead of the 2 expected (A.Year 2007-2008). Graduation Date: April 29th 2009.
  • Bachelor’s Degree cum Laude in Computer Science at University of Florence; 3 A.Years as expected (From A.Year 2004-2005 to A.Year 2006-2007). Graduation Date: September 28th 2007.


  • Best Italian PhD Thesis on “Algorithms, Automata, Complexity and Game Theory” 2013.
    Italian Chapter of the EATCS (European Association for Theoretical Computer Science).

Activities and Highlights

Author of a book, conference papers, and journal papers on graph algorithms with applications to enumeration, web crawling, bioinformatics, real-world graph analysis, information retrieval, mobile ad hoc networks, and computational linguistic. Check out google scholar to know my h-index or number of citations.

  • Enumeration Algorithms: Author of a book (published by Atlantis Press, 2015) and other publications in this field. Co-author of the current best algorithm to list all the paths and cycles in a graph (SODA 2013), improving Johnson Algorithm (1975). Co-author of the current best algorithm to list all the maximal cliques in a graph (ICALP 2016).
  • Web Crawling: One of the BUbiNG developers; BUbiNG is the publicly available web crawler currently with the highest performances (downloading, storing, and managing billions of web pages), developed at LAW (Laboratory of Web Algorithmic), University of Milan.
  • Algorithms for Real-World Graph Analysis: Co-author of the current best algorithms to compute: diameter, hyperbolicity, and top-central nodes (closeness centrality) in huge graphs. The diameter algorithm (TCS 2013) has been used to compute the diameter of Facebook networks (1.2 billions of nodes) by Backstrom, Boldi, Rosa, Ugander, and Vigna in “Four degrees of separation” (WebSci 2012) (reported by The New York Times, (325):B1, 21 November 2011).
  • Bioinformatic: Collaborator of INRIA (Institut National de Recherche en Informatique et en Automatique) BAMBOO & BAOBAB Team,Université Claude Bernard (Lyon 1), headed by Marie-France Sagot, working on metabolic networks and NGS (New Generation Sequence), designing ad hoc enumeration algorithms.


  • Teaching Algorithms and Python at Laboratorio di Algoritmica at Informatica Umanistica (first year Bachelor Degree), a.a. 2015-2016, University of Pisa.
  • Teaching Algorithms and C at Laboratorio di Algoritmica at Informatica (first year of Computer Science Bachelor Degree), a.a. 2015-2016, University of Pisa.
  • Phd Course on Algorithms For Big Data (part 2), March 2015 at University of Pisa.
    Helping Pierluigi Crescenzi for the course Laboratorio di Programmazione, a.a. 2012-2013 at University of Florence.


  • Research within the INRIA (Institut National de Recherche en Informatique et en Automatique) Associated Team Project SIMBIOSI.
  • Visiting BAMBOO & BAOBAB Team, INRIA Grenoble Rhône-Alpes, Laboratoire de Biométrie et Biologie Évolutive (LBBE), Université Claude Bernard (Lyon 1): January 22 — February 5 2011, April 26 — May 7 2011, September 10–17 2011, October 25–30 2011, January 15– May 18 2012, December 16–20 2012. Working on Bioinformatics and Computer Science (Enumeration and Graph Theory). 
  • Visiting, together with INRIA BAMBOO Team, University of São Paulo (USP) and Laboratório Nacional de Computação Científica (LNCC), Petrópolis, Brasil, March 31– April 16, 2012. Working on Bioinformatics.
  • Visiting, together with INRIA BAMBOO Team, KDBIO Group at INESC-ID, Instituto Superior Técnico, Lisbon. February 15–21, 2012. Working on Bioinformatics.
  • Visiting, together with INRIA BAMBOO Team, hosted by Leen Stougie, at Centrum Wiskunde & Informatica (CWI), Amsterdam, March 5–9, 2012 (Working on Bioinformatics, Cophilogeny), July 4–10, 2011 (Working on Kelly-Width).
  • Visiting Laboratoire d’Informatique Algorithmique: Fondements et Applications (LIAFA), University of Paris Diderot, Paris 7. Working on Diameter and Radius in real world graphs with Prof. Michel Habib. March 19–23, 2012.


  • School on ADdressing DIfficult problems in a Computationally Tractable fashION, Lisbon (Portugal). On: Randomized algorithms for linear programming (Friedrich Eisenbrand, EPFL, Switzerland), Dynamic Graph Algorithms (Giuseppe F. Italiano, University of Rome Tor Vergata, Italy), Certifying Algorithms, Physarum Computations, The Virtual-Address-Model of Computation (Kurt Mehlhorn, Max-Planck-Institute für Informatik at Saarbrücken, Germany), Probabilistic methods in algorithms with applications to computational biology. (Eli Upfal, Brown University, USA). November 16–21, 2014.
  • School for advanced sciences of Luchon, Network analysis and applications. Session I, Luchon (France), June 21 — July 5, 2014.
  • Student at the school Enumeration Algorithms & Exact Methods For Exponential Problems in Computational Biology, ENUMEX 2012 at Bertinoro (Forlì-Cesena), on Counting: Algorithms and Complexity (Martin Dyer, School of Computing, University of Leeds, UK), Monotone Generation Problems: Algorithms and Hardness (Khaled Elbassioni, Max-Planck-Institut fur Informatik, Saarbrucken, Germany), Parameterized and Exact Algorithms (Fedor Fomin, Department of Informatics, University of Bergen, Norway), Deep of Enumeration Algorithms: Theory and Practice (Takeaki Uno, National Institute of Informatics, Tokyo, Japan). September 23–28, 2012.
  • Student at the school Graph Theory, Algorithms and Applications 2nd Edition, International School on Mathematics ”Guido Stompacchia”, Centre ”Ettore Majorana” for Scientific Culture Erice, on Directed Hypergraphs: Algorithms and Applications (Giorgio Ausiello, La Sapienza University of Rome), Graphs of Polytopes and the Simplex Algorithm (Friedrich Eisenbrand, EPFL Lausanne, Switzerland), Approximation Algorithms for graphical-TSP (Naveen Garg, Indian Institute of Technology, New Delhi,India), Shortest Paths in Road Networks (Andrew V. Goldberg, Microsoft Research Silicon Valley, California), Bilevel programming and price optimization problems (Martine Labbé, Université Libre de Bruxelles, Belgium), Natural Algorithms: Physarum Can Compute Shortest Paths (Kurt Mehlhorn, Max-Planck Institut fuer Informatik, Germany), Polyhedral Approaches for Combinatorial optimization (the oracle paradigm) (Giovanni Rinaldi, IASI-CNR, Rome, Italy), Optimization in routing problems (Maria Grazia Speranza, University of Brescia, Italy), Data Structures in Graph Algorithms (Robert Tarjan, Princeton University and HP, Princeton, NJ), Models and Algorithms for Vertex Coloring Problems (Paolo Toth, University of Bologna, Italy), Algorithm Engineering for Graph Clustering (Dorothea Wagner, Karlsruhe Institute of Technology, Karlsruhe, Germany). September 25– October 3, 2011.
  • Student of Basics of game theory and its applications to wireless communications (Ing. Giacomo Bacci, Ing. Luca Sanguinetti, Dipartimento di Ingegneria dell’Informazione: Elettronica, Informatica, Telecomunicazioni, University of Pisa) at University of Pisa, April 11–15, 2011.
  • Student of Graph Partitioning and Expanders (Prof. Luca Trevisan, University of Stanford) at Games, Algorithms, and Security Lab of University of Salerno, July 12–20, 2010.
  • Student of Proofs, complexity, and approximation (Prof. Pierluigi Crescenzi, University of Firenze) , March 15–26, 2010, at University of Pisa.
  • Student at BiSS 2010 Bertinoro international Spring School in Bertinoro (Forlì-Cesena), March 8–12, 2010, on An Introduction to Bisimulation and Coinduction, (Prof. Davide Sangiorgi, University of Bologna) and Advanced Algorithms for Massive Data Sets (Prof. Paolo Ferragina, University of Pisa).

Conferences and Workshops:

  • GRAPHITE 2014, 3rd Workshop On GRAPH Inspection and Traversal Engineering, Grenoble (France), April 5, 2014.
  • Dagstuhl Seminar on Epidemic Algorithms and Processes: From Theory to Applications, Dagstuhl (Germany), January 20–25, 2013.
  • SODA 2013, Symposium on Discrete Algorithms, New Orleans (U.S.), January 6–8, 2013.
  • JOBIM 2012, Journées Ouvertes en Biologie, Informatique et Mathématiques, Rennes (France), July 3–6, 2012
  • SEA 2012, 11International Symposium on Experimental Algorithms, Bordeaux (France), June 7–9, 2012
  • WBA 2012, Workshop in Bioinformatics and Algorithms, at University of São Paulo (USP) (Brasil), April 2nd and 3rd, 2012.
  • TAPAS 2012, 1st International ICST Conference on Theory and Practice of Algorithms in (Computer) Systems, Rome (Italy), April 18–20, 2011.
  • 2nd Workshop of COST (European Cooperation in Science and Technology) Action 295 “DYNAMO” on Dynamic Communication Networks in Dagstuhl (Germany), June 1–5, 2009, talk On the Spatial Node Distribution of RWP Based Mobility Models.


  • Analysis and Enumeration: Algorithms for Biological Graphs. Atlantis Press 2015.

Publications: see


  • Professional Engineering Qualification (Information engineering).
  • Preferred Programming Language: Java (Sample of Advanced Library for Massive Datasets known: WebGraph, MG4J, FastUtils, Google Guava, Apache Libraries).
  • Other Programming Languages: C++, C, Python, Perl, SQL, Bash, Latex.