  How do real graphs evolve over time? What are ``normal'' growth patterns in
social, technological, and information networks? Many studies have discovered
patterns in static graphs, identifying properties in a single snapshot of a
large network, or in a very small number of snapshots; these include heavy
tails for in- and out-degree distributions, communities, small-world phenomena,
and others. However, given the lack of information about network evolution over
long periods, it has been hard to convert these findings into statements about
trends over time.
  Here we study a wide range of real graphs, and we observe some surprising
phenomena. First, most of these graphs densify over time, with the number of
edges growing super-linearly in the number of nodes. Second, the average
distance between nodes often shrinks over time, in contrast to the conventional
wisdom that such distance parameters should increase slowly as a function of
the number of nodes (like O(log n) or O(log(log n)).
  Existing graph generation models do not exhibit these types of behavior, even
at a qualitative level. We provide a new graph generator, based on a ``forest
fire'' spreading process, that has a simple, intuitive justification, requires
very few parameters (like the ``flammability'' of nodes), and produces graphs
exhibiting the full range of properties observed both in prior work and in the
present study.
  We also notice that the ``forest fire'' model exhibits a sharp transition
between sparse graphs and graphs that are densifying. Graphs with decreasing
distance between the nodes are generated around this transition point.
