  Recent years have seen a surge of interest in the analysis of complex
networks, facilitated by the availability of relational data and the
increasingly powerful computational resources that can be employed for their
analysis. Naturally, the study of real-world systems leads to highly complex
networks and a current challenge is to extract intelligible, simplified
descriptions from the network in terms of relevant subgraphs, which can provide
insight into the structure and function of the overall system.
  Sparked by seminal work by Newman and Girvan, an interesting line of research
has been devoted to investigating modular community structure in networks,
revitalising the classic problem of graph partitioning.
  However, modular or community structure in networks has notoriously evaded
rigorous definition. The most accepted notion of community is perhaps that of a
group of elements which exhibit a stronger level of interaction within
themselves than with the elements outside the community. This concept has
resulted in a plethora of computational methods and heuristics for community
detection. Nevertheless a firm theoretical understanding of most of these
methods, in terms of how they operate and what they are supposed to detect, is
still lacking to date.
  Here, we will develop a dynamical perspective towards community detection
enabling us to define a measure named the stability of a graph partition. It
will be shown that a number of previously ad-hoc defined heuristics for
community detection can be seen as particular cases of our method providing us
with a dynamic reinterpretation of those measures. Our dynamics-based approach
thus serves as a unifying framework to gain a deeper understanding of different
aspects and problems associated with community detection and allows us to
propose new dynamically-inspired criteria for community structure.
