  Many real-world complex networks exhibit a community structure, in which the
modules correspond to actual functional units. Identifying these communities is
a key challenge for scientists. A common approach is to search for the network
partition that maximizes a quality function. Here, we present a detailed
analysis of a recently proposed function, namely modularity density. We show
that it does not incur in the drawbacks suffered by traditional modularity, and
that it can identify networks without ground-truth community structure,
deriving its analytical dependence on link density in generic random graphs. In
addition, we show that modularity density allows an easy comparison between
networks of different sizes, and we also present some limitations that methods
based on modularity density may suffer from. Finally, we introduce an
efficient, quadratic community detection algorithm based on modularity density
maximization, validating its accuracy against theoretical predictions and on a
set of benchmark networks.
