You are on page 1of 19

Information Processing and Management xxx (xxxx) xxx–xxx

Contents lists available at ScienceDirect

Information Processing and Management


journal homepage: www.elsevier.com/locate/infoproman

Tracking community evolution in social networks: A survey



Narimene Dakiche ,a,1, Fatima Benbouzid-Si Tayeba,1, Yahya Slimanib,
Karima Benatchbaa,1
a
Laboratoire des Méthodes de Conception de Systèmes (LMCS), Ecole nationale Supérieure d’Informatique (ESI), BP 68M -16 270 Oued Smar, Alger,
Algérie
b
Computer Science Department, ISAMM Institute of Manouba, 2010 Manouba.

A R T IC LE I N F O ABS TRA CT

Keywords: This paper presents a survey of previous studies done on the problem of tracking community
Social network evolution over time in dynamic social networks. This problem is of crucial importance in the field
Dynamic network of social network analysis. The goal of our paper is to classify existing methods dealing with the
Dynamic community detection issue. We propose a classification of various methods for tracking community evolution in dy-
Community evolution
namic social networks into four main approaches using as a criterion the functioning principle:
the first one is based on independent successive static detection and matching; the second is
based on dependent successive static detection; the third is based on simultaneous study of all
stages of community evolution; finally, the fourth and last one concerns methods working di-
rectly on temporal networks. Our paper starts by giving basic concepts about social networks,
community structure and strategies for evaluating community detection methods. Then, it de-
scribes the different approaches, and exposes the strengths as well as the weaknesses of each.

1. Introduction

Networks underlie many complex phenomena involving pairwise interactions between entities (Easley & Kleinberg, 2010;
Kolaczyk, 2009). Different examples can be given: internet, online social networks such as Facebook or Twitter, cellphone com-
munications, hyperlinks in blogs, and electric power grids. Over the last years, Social Networks (SN) have received significant
attention due to their increasing importance and popularity.
A social network for an individual is created with his/her interactions and personal relationships with other members in the
society. With the fast web expansion, there is a tremendous growth of online users’ interactions. People extend their social life in
unprecedented ways as it is much easier to find online friends with similar interests. These social networks have interesting patterns
and properties, which gave rise to the very active field of Social Network Analysis (SNA). The main aim of SNA is to understand the
relationship between actors involved in an interaction by exploiting network and graph theories for numerous useful purposes.
One important characteristic of Social Networks is the community structure, i.e., groups of individuals with high density inter-
actions among individuals of the same group and comparatively low density interactions among individuals of different groups
(Leskovec, Lang, Dasgupta, & Mahoney, 2008). The process of discovering these groups is known as community detection and is a
task of fundamental importance in social network analysis (Tang & Liu, 2010). Community detection frequently discloses deeper
properties of networks; it provides meaningful insights of the networks’ internal structure as well as its organization principles. This
task can be useful in many applications where group decisions are taken, e.g., multicasting a message of interest or recommending a


Corresponding author.
E-mail address: an_dakiche@esi.dz (N. Dakiche).
1
http://www.esi.dz.

https://doi.org/10.1016/j.ipm.2018.03.005
Received 31 July 2017; Received in revised form 10 March 2018; Accepted 12 March 2018
0306-4573/ © 2018 Elsevier Ltd. All rights reserved.

Please cite this article as: Dakiche, N., Information Processing and Management (2018),
https://doi.org/10.1016/j.ipm.2018.03.005
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

set of products to a community (Deshmukh & Ingle, 2017). It can also be used to detect criminal gangs (Jie & Huadong, 2016) as well
as to help in preventing potential networking diseases such as virus or worm propagation (Zhu, Cao, Zhu, Ranjan, & Nucci, 2012) and
so on.
Most studies on social networks community structure analysis have focused on static methods and several surveys on community
detection have been published. Fortunato (2010) and Coscia, Giannotti, and Pedreschi (2011) present comprehensive reviews of both
disjoint and overlapping community detection algorithms published up to 2009 and 2011, respectively. Fortunato classifies these
algorithms based on their methodological principles, whereas Coscia et al. classify them according to the adopted definition of the
community (e.g., communities based on internal density or bridge detection). Plantié and Crampes (2013) propose an alternative
classification based on the type of input and output data, while Schaeffer (2007) mainly focuses on the graph-clustering problem as
an unsupervised learning task. The survey of Papadopoulos, Kompatsiaris, Vakali, and Spyridonos (2012) classifies community
detection techniques in five methodological categories: Cohesive subgraph discovery (Palla, Derényi, Farkas, & Vicsek, 2005), Vertex
clustering (Pons & Latapy, 2005), Community quality optimization (Clauset, 2005; Newman & Girvan, 2004), Divisive (Newman &
Girvan, 2004) and Model-based methods (Gregory, 2010). Parthasarathy, Ruan, and Satuluri (2011) present the principal methods
for the undirected community discovery problem, as well as research trends and emerging tasks in the area, while Malliaros and
Vazirgiannis (2013) focus on community detection algorithms for directed graphs, and suggest a methodology-based taxonomy to
classify the different algorithmic approaches.
However, most social networks evolve over time, driven by the shared activities and affiliations of their members. A dynamic
network is a special type of evolving complex networks in which changes occur over time (Qiu, Ivanova, Yen, & Liu, 2010). These
changes happen when new members join the network, existing ones leave it, or when existing members establish a new relation or
terminate an existing one over time. These changes seem to have little effect on the network’s structure as a whole. However, they
may lead to significant transformations of the community structure. This raises a natural need for community structure re-
identification over time. The fast and unpredictable changes of the dynamic social network make it an extremely interesting yet
challenging problem.
As a large number of papers in the literature dealing with the temporal evolution of communities has been published in the last
few years (Giatsoglou & Vakali, 2013), the aim of this paper is to present state-of-the-art in tracking community evolution research in
dynamic social networks. We propose a classification of the different studies produced in this field into four main approaches:
Independent Community Detection and Matching, Dependent Community Detection, Simultaneous Community Detection on All
Snapshots and Dynamic Community Detection on Temporal Networks. Besides, we compare these approaches in terms of advantages
and drawbacks.
The paper is organized as follows. In Section 2, we define general concepts of social networks and community evolution. Then, we
formalize the dynamic community detection problem and introduce and discuss techniques often used to evaluate and compare
communities identified by community detection methods. In Section 3, we describe the research methodology adopted in this study.
In Section 4, we introduce our classification of various methods for tracking community evolution in dynamic social networks. In
Section 5, we present a comparative study that shows the advantages and the drawbacks of each approach. Finally, the conclusion
section comes to wrap up the paper.

2. Static and dynamic social networks

A social network is represented by a social graph G = (V , E ), where V is the set of nodes denoting individuals and E is the set of
edges denoting interactions. The interaction between two nodes u and v is represented by the edge eu, v of the graph. An edge may be
directed, such as having a phone conversation, or sending an email. It can be undirected such as friendship or collaboration. These
different types of links can be separated leading to different networks, combined into one multidimensional network
(Berlingerio, Coscia, Giannotti, Monreale, & Pedreschi, 2011), or simply represented as one network discarding the information about
the interaction types. The edges may have an associated weight representing the frequency, strength, or probability of interactions.
Social networks follow the properties of complex networks (Barabási & Albert, 1999; Fasmer, 2015).
Most conventional social network methods aggregate all observed interactions over a period of time and build one network to
represent all interactions over that time period (Wasserman & Faust, 1994). However, in many cases, interactions among individuals
change over time. The dynamic network framework (Qiu et al., 2010) can be used as a convenient representation for explicitly
modeling temporal changes in interactions. In a dynamic network, interactions are represented by a time-series of static networks,
each network corresponding to interactions aggregated over a small time period, such as a day or an hour. The issue of time step size
is a complicated one and is starting to be addressed in a rigorous way (Caceres & Berger-Wolf, 2013).

2.1. Communities in networks

In complex network literature, there is an implicit assumption that groups of nodes that interact more densely among themselves
share common values, purpose or function (Feld, 1981; Palla et al., 2005). Nodes closeness of a group can be measured through
similarity or distance metrics. McPherson, Smith-Lovin, and Cook (2001) state that “similarity breeds connection.” They discuss
various social factors that lead to similar behavior or homophily in networks. A community in a complex network is an abstraction
that allows to group nodes based on the interacting phenomenon that is being represented. Metabolic networks have communities
based on functional groupings. Citation networks form communities by research topic. Social networks are composed of communities
based on common location, interests, occupation, etc. Although, community is an ill-defined concept (Fortunato, 2010), a general

2
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 1. Community structure (Song, Li, Yu, Li, & Shi, 2014).

consensus suggests that community structure (see Fig. 1) is a decomposition of nodes of a network into sets so that nodes within a set
are densely connected internally, and sparsely connected externally (Girvan & Newman, 2002).
Communities in real world networks are of different kinds: disjoint or non-overlapping (e.g., students belonging to different
disciplines in an institute) (Fortunato, 2010), overlapping (e.g., person having membership in different social groups on Facebook)
(Xie, Kelley, & Szymanski, 2013b), hierarchical (e.g., cells in human body form tissues that in turn form organs and so on) (Balcan &
Liang, 2013). Being able to identify these sub-structures within a network is one of the most well studied problems in social network
analysis. Indeed, uncovering these groups, or communities, is the first step to understanding the fundamental causes and con-
sequences of (social) interactions.
Until now, the development of community detection methods has been mainly done for static networks (Fortunato, 2010; Plantié
& Crampes, 2013). However, a major drawback of these methods is that the temporal nature of interactions is discarded. The concept
of dynamic communities, which are collections of individuals interacting more frequently, contiguously and persistently (Berger-
Wolf, Tantipathananandh, & Kempe, 2010), tries to overcome this problem. Recently, new methods taking into consideration the
dynamic nature of networks have been proposed (Cazabet, Amblard, & Hanachi, 2010; Chakrabarti, Kumar, & Tomkins, 2006; Palla,
Barabási, & Vicsek, 2007; Takaffoli, Sangi, Fagnan, & Zaïane, 2011; Tantipathananandh, Berger-Wolf, & Kempe, 2007).

2.2. Identifying dynamic communities and tracking their evolution

Since the dynamic nature of networks leads to evolving communities, a new area of research dealing with dynamic communities
has emerged. The purpose of this field of research is to provide the tools for analysing the collective behavior in networks and
understanding their evolution patterns.

2.2.1. Defining dynamic communities


Dynamic communities can change or evolve over time. To give an example, we can imagine a social network, and some of its
communities. One of these communities corresponds to the tenants of a building. The static community corresponds to all neighbors
living in this building at a given time. But after a certain period of time, some tenants leave the building, while newcomers move in.
After a long period of time, none of the initial neighbors are still in the building; however, the corresponding community still exists,
without any interruption.
The definition of dynamic community depends strongly on the underlying networks evolving over time. These networks have two
possible representations. They can be represented by a time-series of static networks called timeframes (snapshots), each one cor-
responding to interactions derived from a daily, weekly, or monthly collection of data (see Fig. 2). An alternative representation is
obtained by gathering information in real time as a stream of edges. Networks modeled this way are called temporal networks (Holme

3
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 2. A temporal social network consisting of five timeframes (Bródka et al., 2013).

& Saramäki, 2012).


It should be noted that tracking dynamic communities is the same when using both representations since a sequence of snapshots
can be turned into a temporal network and vice versa. Depending on whether the network is modeled by a sequence of snapshots or as
a temporal network, the evolution of a particular community can be defined in two different ways:

• As a sequence of events (changes) following each other in successive time steps. In other words, the evolution is described by
identified community transformations from one snapshot to another.
• As an initial static community and a sequence of modifications on this community, namely, nodes integration and nodes exclusion.
2.2.2. Changes of dynamic communities
The different operations that define a dynamic network are node and edge appearance and node and edge disappearance. These
operations are quite simple, but on a community scale, the operations that define community changes are more complex and are
called “events”. There are several studies that focus on detecting these key events that can appear in the life cycle of a community
(Asur, Parthasarathy, & Ucar, 2009; Bródka, Saganowski, & Kazienko, 2013; Greene, Doyle, & Cunningham, 2010; Palla et al., 2007).
In these studies, different events are defined and all of them are very similar and are complementary (see Fig. 3). A short description
of the most common events can be found below:

• Birth, when a new community emerges at a given time.


• Death, when a community disappears. All nodes belonging to this community lose their membership.
• Growth, when a community acquires some new members (nodes).
• Contraction, when a community loses some of its members.
• Merging, when several communities merge to form a new community.
• Splitting, when a community is divided into several new ones.

Fig. 3. Community evolution in a dynamic network (Shang, Liu, Li, Xie, & Wu, 2016).

4
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

• Resurgence (Cazabet, Takeda, Hamasaki, & Amblard, 2012), when a community disappears for a period and reappears.
2.2.3. Dynamic community detection
Formally, a dynamic social network G = (V , Et ) is defined by a set of nodes V and a set of time-stamped edges describing the
interactions among them. Each edge e ∈ E represents an interaction between two nodes u, v ∈ V at time t (Holme & Saramäki, 2012).
In order to analyze a dynamic social network G, it is discretized into τ consecutive snapshots, thus obtaining a set of graphs
G = (G0, …, Gτ ), where Gi = (Vi , Ei ) represents a graph with only the set of nodes and edges that appears in the interval (ti, ti + 1) . The ki
communities detected in the ith snapshot are denoted by Ci = (Ci1, Ci2, …, Ciki ) where community Cip ∈ Ci, 1 ≤ p ≤ ki, is also a graph
denoted by (Vip, Eip) .
Dynamic community detection consists in finding series of similar communities in different time snapshots. A dynamic com-
munity is represented by its constituent communities ordered by time snapshots. Formally, the dynamic community is denoted by
DC = {Ct0, Ct1, …, Ctτ }, where t0 < t1 < … < t τ and Cti represents its instance community at time ti.

2.3. Evaluation of dynamic community detection

The absence of a unique definition of community is one of the main issues of the community detection problem; indeed in studies
dealing with this problem, researchers usually define some characteristics that a good community should have to compare their
results with those produced by other state-of-the-art methods. Several methods to evaluate community detection algorithms can be
found in the literature. In what follows, we will present the most commonly used ones. We begin with synthetic generators that
produce network data (benchmarks) used to evaluate and compare algorithm results. Indeed, using the same data makes comparisons
more valuable. Then, we present other methodologies that evaluate community structure through the analysis of its quality.

2.3.1. Synthetic network generators


Over the past few decades, networks have been widely used to model real-world phenomena. Real-world networks exhibit non-
trivial topological characteristics and therefore, many network models are proposed in the literature for generating graphs that are
similar to real networks, the most famous being Erdös and Rényi random graphs (Erdős & Rényi, 1959), Watts and Strogatz small-
world networks (Watts & Strogatz, 1998), Barabasi and Albert Preferencial attachment model (Barabási & Albert, 1999), Leskovec’s
Forest Fire (Leskovec, Kleinberg, & Faloutsos, 2005), or Community-Affiliation Graph (Yang & Leskovec, 2014).
In order to evaluate community detection methods, synthetic generators are used to produce network data (benchmarks). For
example, some network generators provide the generated network with its ground-truth communities; such information can be used
to check the communities detected by the tested algorithm.
Two types of generators exist: those generating static networks communities and those describing dynamic networks commu-
nities. Since they are more common, static generators are often used to evaluate dynamic community detection algorithms. However,
they can only be used to evaluate the quality of the detection at time t, and not the evolution of communities.
The classic and most famous static benchmarks are the Girvan–Newman benchmark known as GN (introduced by Girvan &
Newman (2002)) and the LFR (introduced by Lancichinetti, Fortunato, & Radicchi, 2008). Recently LFR has been generalized in order
to handle weighted and directed graphs, as well as to generate overlapping communities (Lancichinetti & Fortunato, 2009). Lately,
extensions of GN and LFR dealing with topology dynamics as well as new dynamic benchmarks have been proposed.
In order to evaluate the FacetNet framework, Lin, Chi, Zhu, Sundaram, and Tseng (2009) propose a variant of the GN model. They
introduce network dynamics by generating different network snapshots and then, from one snapshot to another (i) they randomly
choose a fixed number of nodes from each community (ii) remove them and (iii) assign them to different communities.
Greene et al. (2010) build a dynamic benchmark upon LFR. They use a static synthetic network with ground-truth communities.
Then, in order to simulate a dynamic network, they randomly permute 20% of the communities nodes. Finally in Rossetti, the authors
propose a new benchmark dedicated to the dynamic community detection problem. RDyn generates dynamic network topologies as
well as temporally evolving ground-truth communities.

2.3.2. Methodologies
The evaluation of community structure can be done through the analysis of its quality. One way is to consider ground truth
communities that need to be obtained or a particular quality measure that needs to be optimized. Another way is to inspect the
complexity and scalability of the detection method.

2.3.2.1. Ground-truth communities. The evaluation of the detected communities becomes easier when the effective (ground-truth)
community structure of the network is known a priori. Indeed, a common task to evaluate the effectiveness of community detection
algorithms consists in comparing the divergence between the community structure they produce and the effective one. This method
has been criticized (Peel, Larremore, & Clauset, 2017) since it does not guarantee that the reference community is the optimal one for
all existing algorithms. Yet, it remains the most widely used to compare different algorithmic approaches.
One common way for the evaluation is to compute the Normalized Mutual Information score (NMI) (Lancichinetti, Fortunato, &
Kertész, 2009; Lancichinetti et al., 2008), which is a measure of similarity. One weakness of NMI is its high computational complexity
which often makes it unusable to evaluate communities of large-scale networks. In order to cope with this weakness, several ap-
proaches were proposed in recent years (Cazabet, Chawuthai, & Takeda, 2015; Rossetti, Pappalardo, Pedreschi, & Giannotti, 2017;
Rossetti, Pappalardo, & Rinzivillo, 2016). One instance is the F1-community score in which the authors solve the problem as a

5
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

classification task (Rossetti et al., 2016).


Although we can use real datasets with ground-truth communities as well as the LFR/GN benchmarks to evaluate dynamic
community detection algorithms at a particular instant of the network evolution, an important limitation still exists. They cannot
consider the temporal dimension. In fact, their use in dynamic approaches raises many issues such as generating coherent network
snapshots and taking into consideration the suppression of nodes or edges.

2.3.2.2. Quality function. One way of comparing different community detection algorithms without previously knowing the ground-
truth communities is to use a community quality score. The community that obtains the highest score is then, by definition,
considered the best. Modularity (Newman, 2004; Newman & Girvan, 2004) is probably the most widely used quality function.
However, it is not the only one. We can also list:

• Conductance (Radicchi, Castellano, Cecconi, Loreto, & Parisi, 2004; Yang & Leskovec, 2015), i.e. the percentage of edges that
cross the cluster border;
• Expansion (Radicchi et al., 2004), i.e. the number of edges that cross the community border;
• Internal Density (Radicchi et al., 2004), i.e., the ratio of edges within the cluster with respect to all possible edges;
• Cut Ratio and Normalized Cut (Fortunato, 2010; Shi & Malik, 2000), i.e., the fraction of all possible edges leaving the cluster;
• Maximum/Average ODF (Flake, Lawrence, & Giles, 2000) (out-degree fraction), i.e. the maximum/average fraction of nodes’
edges crossing the cluster border;
• Flake ODF (Flake et al., 2000), i.e. the fraction of nodes involved in fewer edges within the community than outside it;
• Volume, i.e. the sum of degrees of nodes in the community;
• Edge Cut, i.e. the number of edges that should be removed in order to eliminate all the paths connecting the community to the rest
of the network.

All these indicators are used in order to get insights on the compactness and topological consistency of communities. Studies
about the relations between these quality functions can be found in Creusefond, Largillier, and Peyronnet (2016) and Yang and
Leskovec (2015). However, using one quality function to evaluate algorithms favors the ones that are designed to optimize it. Yet, if
those algorithms adopt different community definition, the produced results could be misleading.

2.3.2.3. Auxiliary evaluation measures. Many works solved the problem of qualitative measures for community detection algorithms
evaluation by using a quantitative evaluation. They used, for instance, the algorithmic complexity (Tantipathananandh et al., 2007),
running time (Rossetti et al., 2017), scalability (Folino & Pizzuti, 2014; Zakrzewska & Bader, 2015), or analysis enabled by their
approaches (i.e., identification of specific life-cycle events Cazabet et al., 2012; Lee, Lakshmanan, & Milios, 2014; Palla et al., 2007).
The auxiliary evaluation measures do not attempt to make direct comparison between communities like the two previously
mentioned techniques. They assume that each algorithm, based on its community definition, generates a particular community
structure for which they measure quantitative performances and define a context of applicability. Indeed, they are often used as
support for the previous techniques, as in Rossetti et al. (2017) and Folino and Pizzuti (2014).

3. Research methodology

To carry out our literature review, we followed several steps based on a systematic review method (Kitchenham, 2004). It has
three main phases: planning, conducting, and reporting the review. We defined a protocol that helped us follow those steps. We first
defined the research objective of our paper which is the problem of tracking community evolution in dynamic social networks. Then,
we started collecting the data from which we drew the elements that we used for conducting our study.
As mentioned previously, network community structure has become an important field of research. This can be seen in Fig. 4
depicting the growth rate of published papers for this problem: from 15 in 1998 to reach an aggregate of 485 in 2016. Starting from
2004, increasingly more works have been devoted to the subject of community detection in dynamic social networks.
To conduct our study, and in order to collect high-quality data, we only considered full papers in English from peer-reviewed
journals and conferences published from 2004. Other papers were considered to define concepts related to social networks.
In order to collect all these papers, we conducted a search using the following international digital databases: scienceDirect, IEEE
Xplore, SpringerLink and Nature of Science which were consulted through Google Scholar. These databases were chosen because they
give access to the most relevant journals and conference proceedings covering community evolution in dynamic social network.
When searching for these resources, we relied on a set of keywords2 that includes several suitable synonyms and phrases which
refer to the topic. To increase the number of relevant papers, we used an expanding strategy, which consists in taking all the papers
that cited the initial papers found through the use of our keywords. Then, we collected all the publications of each author who had
three publications in our field and filtered them through our keywords. At the end of this process, we were able to identify a total of
126 publications.
We, then, adopted a filtering strategy to remove irrelevant papers found during the expanding phase. It was based on the analysis
of the titles, abstracts and keywords whereas relevant studies were obtained based on full text read. Indeed, for a paper to be

2
Keywords: (dynamic community detection, community evolution across time, tracking community evolution, evolution events in social networks)

6
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 4. The chronological distribution of the number of “static and dynamic network community detection” literature published over the past 18 years (Khan &
Niazi, 2017).

included, it had to meet several criteria: (1) be directly related to community evolution in social networks topic; (2) present an
original contribution, improvement of an existing work or a combination of existing ones; and (3) include experimental results on
well-known social network benchmarks.
After filtering the publications, full text reading of the selected papers was performed to ensure that the content was related to our
research objective. Finally, 50 papers were classified as relevant studies. The selected papers which include 33 studies published in
conference proceedings and 17 studies published in journals were read in depth.
The outcome of our research is the classification of various methods dealing with community evolution in dynamic social net-
works, as tackled by the selected papers, into four main classes that are detailed in the following section.

4. Approaches for tracking dynamic community evolution

In this section, we propose a classification of existing methods for dynamic community detection. Previous works have proposed a
similar classification while considering much fewer methods than the current work. Bansal, Bhowmick, and Paymal (2011) classify
the existing literature into two classes. The first one includes works on online community detection; it deals with data evolving in real
time. The second one includes works on offline community detection; it deals with data where all the changes of the network
evolution are known a priori.
In Giatsoglou and Vakali (2013), Giatsoglou et al. briefly survey approaches for the evolving social data clustering problem,
focusing on how they interpret social data evolution and highlighting their seminal characteristics, rather than providing a detailed
clustering algorithm survey. They identify four evolving clustering methodologies: sequential mapping, temporal smoothing, mile-
stone detection, and incremental adaptation.
In our work, we propose a classification of existing methods for tracking community evolution according to their functioning
principles and their algorithmic techniques. Indeed, the general assumption, we adopted, corresponds to different methodological
principles used to track community evolution. There are four main classes:

• Independent Community Detection and Matching includes methods that first detect communities at each time step and then match
them across different time-steps.
• Dependent Community Detection includes methods that detect communities at time t based on the topology of the graph at t and
on previously found community structures.
• Simultaneous Community Detection on All Snapshots includes methods that first construct a single graph by adding edges be-
tween instances of nodes in different time-steps, and then run a classic community detection on this graph.
• Dynamic Community Detection on Temporal Networks includes methods that do not detect communities from scratch at each
time but instead update the ones previously found according to network modifications.

In what follows, we detail the four approaches by describing the works related to each one.

4.1. Independent community detection and matching

This first approach is derived directly from the application of static community detection methods to the dynamic case. Methods
that fall in this approach, also known as two-stage approach, break the evolution of the network into many time steps, and to each of
these steps correspond a set of communities. The basic idea is to detect communities at each time step (snapshot) independently, and
then match those communities with the ones found in the previous step based on their similarity as illustrated in Fig. 5. These

7
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 5. Independent community detection and matching approach.

methods aim to track community evolution by identifying key events that can appear during their life cycle.
Table 1 lists the studies available in the literature for community evolution based on the two-stage approach. For each study, we
present the method used, the key elements and the specific static algorithm used by the authors if it exists.
The work of Hopcroft, Khan, Kulis, and Selman (2004) is one of the first studies using static network snapshots to track com-
munity evolution over time. They proposed a method using agglomerative hierarchical clustering to identify and track stable clusters
over time. Asur et al. (2009) proposed a simple and intuitive community event identification method based on a matching approach
which was implemented as bit operations computed on time step community membership matrices. They first applied the Markov
Clustering Algorithm (MCL Van Dongen, 2000) to discover communities. Size and overlap were compared for every possible pair of
communities in the consecutive snapshots and events involving those communities were identified. However, they did not cover all
forms of events that may occur in the life-cycle of a particular community.

Table 1
Independent community detection and matching.

Reference Method Key elements Static algorithm used

Hopcroft et al. (2004) Agglomerative hierarchical Similarity between two communities –


clustering
Asur et al. (2009) Matching approach Community membership matrices MCL (Markov Cluster Algorithm)
(Van Dongen, 2000)
Palla et al. (2007) Joint graphs Auto-correlation, stationary CPM (Clique Percolation Method) (Palla et al.,
parameter 2005)
Van Nguyen et al. (2012) Life-cycle model Jaccard coefficient, minimum Louvain algorithm (Blondel et al., 2008)
community size
Wang et al. (2008) Life-cycle model (CommTracker Common core nodes between –
framework) communities
Chen et al. (2010) Community core evolution Maximal cliques, core nodes –
Greene et al. (2010) Step communities Time step t, Jaccard similarity MOSES algorithm (McDaid & Hurley, 2010)
Takaffoli et al. (2010, 2011) Event-based model Community similarity –
Bródka et al. (2013) Group evolution discovery Inclusion measure –
Tajeuna et al. (2016, 2015) Event-based model Mutual transition measure –
Sun et al. (2015) Correlation matrix Communities union Louvain algorithm (Blondel et al., 2008)
Zhu et al. (2016) Event-based framework Community attributes –

8
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Palla et al. (2007) conducted experiments on two diverse datasets of phone call network and collaboration network to find time
dependence. After building joint graphs for two time steps, the CPM (Clique Percolation Method) (Palla et al., 2005) was applied.
They used an auto-correlation function to find overlap among two states of a community and a stationary parameter denoting the
average correlation of various states. A work with the same purpose was proposed by Nguyen et al. in which they described an
extended life-cycle model able to track, in an offline manner, the evolution of communities (Van Nguyen, Kirley, & García-Flores,
2012).
Based on the fact that communities differ from one time step to another, Wang, Wu, and Du (2008) proposed a framework called
CommTracker in which important nodes of communities are determined based on their centrality values in the network, and the
mapping of communities is performed based on the common core nodes between a pair of communities at different time steps.
However, in this work, all possible community pairs of two consecutive time steps need to be considered and checked against each
other. In another work, Chen, Wilson, Jin, Hendrix, and Samatova (2010) characterized community dynamics by tracking community
core evolution. First, they defined communities as being the maximal cliques of the network which makes the detection of operations
on communities very simple. Then, they proposed to identify core nodes within these communities making it easier to follow
communities from one time step to another. Obviously, the weakness of this method is that it defines the communities as being
cliques which often gives irrelevant communities and leads to an important number of communities in large graphs.
Greene et al. (2010) reported a model for tracking the progress of communities over time using the static algorithm MOSES
(McDaid & Hurley, 2010) to detect the communities on each snapshot. Then, they described a weighted bipartite matching to map
communities and then characterized each community by a series of events. However, they did not provide explicit formula to define
their events and the network characteristics on the level of individuals were not observed. Their model introduced an effective
community matching strategy for efficiently identifying and tracking dynamic communities in multiple snapshots. Takaffoli, Sangi,
Fagnan, and Zaïane (2010) also provided an event-based framework to capture all of the transitions among communities in two
consecutive snapshots. In a later work (Takaffoli et al., 2011), the event definition formula was improved to track community
transitions over the entire observation time and not only between two consecutive snapshots. Moreover, the results were validated
via the extraction of the topics for each community. However, to match similar communities in different snapshots, they used a
simple greedy matching algorithm.
Bródka et al. (2013) proposed Group Evolution Discovery (GED) method. They did not use only equivalence of community
members to match communities, but took into account nodes position and their importance within the community in order to identify
the community evolution in the successive time steps. This matching was mainly achieved by a new measure called inclusion which
respects both quantity (the number of members) and quality (the importance of members) of the group. In a more recent work,
Tajeuna, Bouguessa, and Shengrui (2016); Tajeuna, Bouguessa, and Wang (2015) proposed a new method for modeling and detecting
community evolution. Their model comprises a new similarity measure, named mutual transition, for tracking the communities and
rules to capture significant transition events a community can undergo.
Sun, Tang, Pan, and Li (2015) focused on online social networks and proposed a light weight evolution event detection algorithm
to find the community evolution patterns between adjacent snapshots, which statistically would show the evolution trend of the
entire network. They applied the Louvain algorithm (Blondel, Guillaume, Lambiotte, & Lefebvre, 2008) to find the communities in
each snapshot. Then, they built a correlation matrix to describe the relationship between communities in time step t and t + 1 with
respect to snapshot t and defined the rules to detect evolution events according to the matrix. Lastly, Zhu, Liu, Zhang, and
Zhao (2016) described an event reconstruction framework for analysing the dynamic characteristics of the community structure.
They proposed the concept of community attributes and reconstructed the event framework proposed by Asur et al. (2009) based on
the view of the community attributes. They made it more systematic and more meaningful, which would provide help for the
subsequent community evolution work.

4.2. Dependent community detection

This category regroups methods that also use snapshots and detect communities for each one of them. However, in order to detect
communities in a given snapshot, these methods take into account the communities found in the previous snapshot, or recent
previous snapshots. In other words, the detection of communities at a particular time t depends on the ones detected at time t − 1
avoiding the need to match communities, thus introducing smoothness in the community identification process. This is illustrated in
Fig. 6.
Generally, there are two basic ideas that can be used in this approach: some methods are built upon basic algorithms such as the
Louvain algorithm (Blondel et al., 2008). They convert the community structure of the last time step to inputs and re-run the basic
algorithm. Some other methods use a cost-function with the purpose of minimizing the communities’ changes in successive time
steps. Table 2 presents a list of the studies discussed in this section. For each study, we present the method used, the key elements and
the static algorithm on which the method is built if it exists.
He and Chen (2015) improved the Louvain algorithm by including the concept of dynamism when forming communities. A
central aspect of their algorithm is to use previously detected communities at time t − 1 to identify the communities at time t.
Aynaud and Guillaume (2010b) proposed a method with a similar mechanism. At each time step the communities are detected with
the Louvain algorithm initialized with the communities found in the previous time step. Chong and Teow (2013) used also a similar
method in which new nodes and neighbor nodes of new or removed nodes/edges were put into singleton communities before
reapplying the Louvain algorithm. The community detection quality was improved despite the fact that this algorithm increased the
nodes to be inspected for revision which increased its time complexity.

9
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 6. Dependent Community Detection approach.

Table 2
Dependent community detection.

Reference Method Key elements Static algorithm used

He and Chen (2015) Dynamicity in the Louvain Time t Louvain algorithm (Blondel et al., 2008)
algorithm
Aynaud and Guillaume (2010b) Dynamicity in the Louvain Time t, communities of t − 1 Louvain algorithm (Blondel et al., 2008)
algorithm
Chong and Teow (2013) Dynamicity in the Louvain New nodes Louvain algorithm (Blondel et al., 2008)
algorithm
Wang and Fleury (2010) Dynamicity in the Louvain Time t, core nodes of t − 1 Louvain algorithm (Blondel et al., 2008)
algorithm
Dinh et al. (2009) Modularity maximization for Change in graph snapshot, community CNM algorithm (Clauset et al., 2004)
dynamic networks structure at time t
Chakrabarti et al. (2006) Evolutionary clustering Snapshot quality, history quality –
Lin et al. (2009) Iterative algorithm Snapshot cost, temporal cost –
Yang et al. (2011) Bayesian inference Community assignments –
Kim and Han (2009) Nano-communities, quasi-clique- Temporal cost, snapshot cost –
by-clique
Chi et al. (2007) Evolutionary spectral clustering Temporal cost, snapshot cost –
Sun et al. (2007) Graph encoding Community structure of last segment MDL (Minimum description length)
(Grünwald et al., 2005)
Folino and Pizzuti (2014) Multiobjective genetic algorithm Community score, NMI –
Rozenshtein et al. (2014) Iterative method Time-interval set –
Guo et al. (2014) Attribute information based Increments –
method
Gao et al. (2016) EvoLeaders-based method Leader nodes –

Wang and Fleury (2010) used the Louvain algorithm and the concept of core nodes, previously proposed in Wang et al. (2008).
They initialized the Louvain algorithm with core nodes found in the previous step. In their method, they defined the core nodes as the
ones which remain in the same communities if the same algorithm of detection is processed several times on the same network with
slight modifications. Dinh, Xuan, and Thai (2009) developed a method based on the CNM algorithm (Clauset, Newman, & Moore,
2004). They took the last time step community structure as the initial state and put each new node into a singleton community. Then
the CNM algorithm was reapplied to obtain the new community structure.
The work of Chakrabarti et al. (2006) was the first one to introduce the evolutionary clustering method. Instead of extracting
communities for each time step and matching them, they used two optimization parameters: snapshot quality to measure the
clustering quality on the current time step, and history quality to compute the similarity between the current clustering and the

10
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

previous one. This way, the community structure and its development were checked at the same time in order to allow temporal
smoothness. It avoided radical changes in a short period of time. Lin et al. (2009) proposed the FacetNet framework which adapted an
evolutionary clustering algorithm to study the dynamic evolution of communities. Contrary to Chakrabarti et al. (2006), they used
the snapshot cost and not the snapshot quality to measure the clustering quality. FacetNet is an iterative algorithm that converges to
an optimal solution; however, one of its main limitations is the requirement to be initialized with the number of communities, which
is usually unknown in practice. The other limitation is its convergence speed which is slow due to the large number of matrix
computations involved.
Yang, Chi, Zhu, Gong, and Jin (2011) developed a time-varying stochastic block model for finding communities and their evo-
lution in a dynamic social network. Their model unified the communities and their evolution in an intuitive and rigorous way; they
assumed a transition probability matrix which governs all the community assignments of nodes for all time steps. This model has only
one transition probability matrix for the entire network. Thus, it cannot represent complicated time variations such as split and merge
of communities.
Kim and Han (2009) suggested a particle-and-density based evolutionary clustering method for tracking community evolution in
dynamic networks. Their method was built on the assumption that a network is made of a number of particles called nano-com-
munities, where each community is further made up of particles termed as quasi-clique-by-clique. The density-based clustering
method used a cost-embedding technique and optimal modularity method in order to guarantee temporal smoothness despite the
variation of the number of clusters. They have used an information theory-based mapping technique to recognize the stages of the
community, i.e., evolving, forming, or dissolving. Their method improved accuracy and is time efficient as compared to the FacetNet
method described earlier.
Chi, Song, Zhou, Hino, and Tseng (2007) extended the work of Chakrabarti et al. (2006) and proposed two evolutionary spectral
clustering frameworks: preserving cluster quality (PCQ) and preserving cluster membership (PCM). They used a cost function that
took into consideration snapshot and temporal costs. The clustering quality of any partition determined the snapshot cost, while the
temporal cost definition varied from a framework to another. For the first framework, the cluster quality determined the temporal
cost when the current partition was applied to the historical data. In the second, the temporal cost was given by the difference
between the current and the historical partition. The two proposed frameworks were able to deal with the change in the number of
clusters.
Sun, Faloutsos, Papadimitriou, and Yu (2007) proposed a method called GraphScope. As a first step, they applied the MDL
(Minimum Description Length) method (Grünwald, Myung, & Pitt, 2005) to encode a graph with a minimum number of bits
(minimum encoding cost). They divided the dynamic network into multiple sequential segments, and incrementally initialized the
algorithm parameters by taking the community structure of the last segment as input. The jumps between segments marked change-
points in graph evolution over time. This method gives the possibility to provide meaningful information on community evolution.
A more recent work was produced by Folino and Pizzuti (2014) who proposed a multiobjective genetic algorithm (DYNMOGA) for
dynamic community detection. They attempted to achieve temporal smoothness by multiobjective optimization, i.e., the max-
imization of snapshot quality (community score was used) and minimization of temporal cost (normalized mutual information NMI
was used). Rozenshtein, Tatti, and Gionis (2014) focused on identifying the optimal set of time intervals to discover dynamic
communities in interaction networks. The work of Guo, Wang, and Zhang (2014) associated attribute information on the graph
topology and defined topological potential attraction between nodes and communities. They updated the current community
structure according to modifications from the previous time step.
Gao, Luo, and Bu (2016) proposed an evolutionary community discovery algorithm based on leader nodes. The concept of Top
Leaders (EvoLeaders), originally proposed in Khorasgani, Chen, and Zaïane (2010), was adopted. Each community is considered as a
set of follower nodes congregating close to a potential leader, and a leader node as the most central node in the corresponding
community. The proposed algorithm consisted of an updating strategy incorporated with temporal information to get the initial
leader nodes. By keeping the temporal smoothness of leader nodes, communities built from those leader nodes could ensure con-
tinuity with respect to the previous ones.

4.3. Simultaneous community detection on all snapshots

This third category includes works that take into consideration all network evolution stages simultaneously. The idea of using
snapshots is preserved, but they are all considered at the same time in order to discover coherent communities as illustrated in Fig. 7.
The underlying idea is to detect community structure over a coupling graph. It consists in creating a unique network by binding
together, into a single graph, all snapshots of the social network in a manner that keeps structures aligned over time through coupling
edges between the same nodes at different time steps. In an alternative way, some other works tend to design a metric that can
directly be optimized on several time steps in order to handle the network over the entire observation time.
Table 3 lists the studies discussed in this section. For each study, we present the method used, the key elements and the specific
static algorithm adopted by the authors if it exists.
Tantipathananandh et al. (2007) proposed a general framework to find communities in dynamic networks by modeling this
detection as a graph coloring problem based on some basic assumptions about individual behavior and group membership. Since the
problem is NP-hard, the authors used an algorithm to optimize three cost functions, namely, i-cost, g-cost, and c-cost. They employed
a heuristic technique that involved greedily matching pairs of node sets between time steps, in descending order of similarity. This
method was shown to perform well on a number of small well-known social network datasets. In Tantipathananandh and Berger-
Wolf (2011), the authors went further and included arbitrary dynamic networks. They resolved the optimization problem using semi-

11
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 7. Simultaneous community detection on all snapshots approach.

Table 3
Simultaneous community detection on all snapshots.

Reference Method Key elements Static algorithm used

Tantipathananandh et al. (2007); Tantipathananandh and Berger- Graph coloring problem, Individual cost, group –
Wolf (2011) heuristics cost, c-cost
Jdidia et al. (2007) Coupling graph clustering Group membership Walktrap algorithm (Pons &
Latapy, 2005)
Mucha et al. (2010) Coupling graph clustering Modularity measure Louvain algorithm
(Blondel et al., 2008)
Mitra et al. (2012) Evolution in one graph Modularity measure Louvain algorithm
(Blondel et al., 2008)
Aynaud and Guillaume (2010a) Modularity maximization Average modularity Louvain algorithm
measure (Blondel et al., 2008)

definite programming relaxation and a rounding heuristic.


The first work that created a unique network was proposed by Jdidia, Robardet, and Fleury (2007). In their method, they built one
network from different snapshots by binding the similar nodes appearing in different time steps. They also created links between
nodes connected to at least one common neighbor in two consecutive time steps and then used the classical community detection
algorithm Walktrap (Pons & Latapy, 2005). The community evolution could be traced through group membership over time.
Mucha, Richardson, Macon, Porter, and Onnela (2010) created a unique network in a slightly different way. They connected identical
nodes between two different consecutive time steps. Then, a generalized version of the Louvain algorithm was used to optimize the
modularity measure.
As for the work of Mitra, Tabourier, and Roth (2012), it was done on particular networks composed of links whose ends are not in
the same snapshot. These networks are typical networks of papers’ citation, or networks of blogs references towards others’ blogs.
These networks have the advantage of representing all the evolution in only one graph. The authors showed that it was possible to
directly apply a static algorithm to this kind of networks. In their paper, they used the Louvain algorithm for its speed. Lastly,
Aynaud and Guillaume (2010a) used a modified version of the Louvain algorithm to maximize the modularity, not only on one
snapshot, but on either the whole set of snapshots, or a subset. Concretely, the algorithm optimized the average modularity of a group
of nodes over several snapshots of the network. The algorithm tended to seek coherent communities on the long run.

4.4. Dynamic community detection on temporal networks

The last category, also known as online approach, covers methods working directly on temporal networks. Here, the network is no
longer considered as a succession of snapshots, but as a series of changes in the network. The idea is to build and maintain com-
munities in an online fashion following the addition and suppression of nodes and edges. Algorithms falling into this category process
iteratively. They start by finding communities for the initial state of the network and, then update, for each incoming change, the
community structure as shown in Fig. 8.
Table 4 gives a summary of studies that have exploited this idea. For each study we present the method used, the key elements and
the specific static algorithm adopted by the authors if it exists.
Li, Huang, Bai, Wang, and Chen (2012) used the evolution of the network edge by edge. According to the modifications made
within the network (addition or suppression of an edge), the concerned nodes will be able to change communities, compared to their
previous affiliation. The mechanism used is very simple since it is only based on the number of edges that each node has with the
various communities. Concretely, the node will belong to the community with which it shares the highest number of edges. However,
if the difference between two communities is not clear (lower than a defined threshold), then the node will remain in the community
to which it belonged at the previous stage.

12
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 8. Dynamic community detection on temporal networks approach.

Table 4
Dynamic community detection on temporal networks.

Reference Method Key elements Static algorithm used

Li et al. (2012) Rule-based Node’s number of edges with –


communities
Shang et al. (2012) Rule-based Modularity measure Louvain algorithm (Blondel et al.,
2008)
Cazabet et al. (2010) iLCD (intrinsic Longitudinal Path lengths –
Community Detection)
Nguyen et al. (2011b) QCA (Quick community Nodes, edges Louvain algorithm (Blondel et al.,
adaptation) 2008)
Nguyen et al. (2011a) AFOCS Nodes, edges –
Qi et al. (2013) A probabilistic approach Trajectory information –
Xu et al. (2013) Rule-based Edges –
Xie et al. (2013a) Label propagation Labels of changed nodes LabelRank algorithm (Xie &
Szymanski, 2013)
Anita and Bader (2016); Zakrzewska and Dynamic seed set expansion Nodes, fitness score –
Bader (2015)
Lee et al. (2014) Evolution operations Bulk updates –
Rossetti et al. (2017) Label propagation Edges –
Bhat and Abulaish (2015) Novel density-based approach Core nodes –
Cordeiro et al. (2016) Modularity-based Nodes, edges Louvain algorithm (Blondel et al.,
2008)
Held and Kruse (2016) Detection based on high-connected Nodes, edges –
hubs
Guo et al. (2016) Local interaction model Increments –

Similarly, Shang et al. (2012) kept track of the community structure by using an extended modularity algorithm based on the
Louvain algorithm. Their method consists in adding (or removing) each new edge as it appears (or disappears), and to locally modify
the concerned communities in a way to increase the modularity if possible, or to limit its reduction otherwise.
In their work, Cazabet et al. (2010) proposed iLCD (intrinsic Longitudinal Community Detection) algorithm, which adapts in-
itially detected communities to the changes occurring in a dynamic network by doing a re-evaluation at each new interaction,
according to the path lengths between each node and its surrounding communities. It can identify overlapping network communities

13
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

by adding edges and then merging similar ones. However, it only considers the addition of new edges and nodes to the network and
not their removal.
Nguyen, Dinh, Xuan, and Thai (2011b) proposed a Quick Community Adaptation method (QCA) that provides revision strategies
for each type of network updates: newVertex, removeVertex, newEdge, and removeEdge. The community assignments
of neighbor nodes are adjusted to maximize the gain in modularity. Starting with the initial communities calculated with the
Louvain algorithm, this method applies adaptive node community changes by considering each node as an autonomous agent de-
monstrating flocking behavior toward their preferable neighboring groups. In a following work, Nguyen, Dinh, Tokala, and
Thai (2011a) proposed AFOCS, a new community detection algorithm for dynamic networks. This algorithm shares the same
principles as QCA being only modified to handle overlapping communities.
Qi, Aggarwal, and Huang (2013) proposed a probabilistic approach to determine dynamic community structure in a social sensing
context. The main objective of the introduced IC-DRF model is to dynamically maintain a community partition of moving objects
based on trajectory information up to the current time step. However, due to the information used to update the community
membership, the method is suitable only for a specific kind of networked data.
Xu, Wang, and Xiao (2013) proposed an algorithm to analyse the evolution of community cores. The proposed approach tracks
only stable links within face to face interaction graphs exploiting a rule based method. Xie, Chen, and Szymanski (2013a) proposed an
incremental algorithm, LabelRankT, based on a Label Propagation algorithm, LabelRank (Xie & Szymanski, 2013). When the network
is updated, LabelRankT re-initializes the labels of changed nodes and reapplies LabelRank to update the label probability distribu-
tions. Thus, it is also an iterative execution algorithm.
Other works belonging to this category are found in the following examples. Zakrzewska and Bader (2015) presented an algorithm
for dynamic seed set expansion, which incrementally updates the community as the underlying graph changes. In the first step, the
algorithm begins with the computation of initial communities which contain only the seed. Then, new nodes are iteratively added. In
each iteration, the neighboring nodes of the current community are potential new members and the node producing the greatest
increase in the fitness score is chosen. In a following work, the authors extended their study to the fully streaming case (Anita &
Bader, 2016).
In another example, Lee et al. (2014) proposed an incremental tracking framework for cluster evolution over highly dynamic
networks. The framework summarizes the network by a skeletal graph and monitors the updates to the post network by means of a
sliding time window. It formalizes cluster evolution patterns using a group of primitive evolution operations for nodes and clusters
such as adding or deleting a node and generating a new cluster or removing an old one. Their evolution tracking algorithm eTrack
performs incremental bulk updates in real time.
Rossetti et al. (2017) proposed Tiles, an algorithm which tracks the evolution of communities through time. The algorithm
proceeds in a streaming fashion considering each topological perturbation as a fall of a domino tile: every time a new interaction
emerges in the network, Tiles exploits a label propagation procedure to propagate the changes to the node’s surroundings, adjusting
the neighbors’ community memberships.
Bhat and Abulaish (2015) proposed a unified framework, HOCTracker, for tracking the evolution of hierarchical and overlapping
communities in online social networks. HOCTracker adapts a preliminary community structure towards dynamic changes in social
networks using a novel density-based method for detecting overlapping community structures, and automatically tracks evolutionary
events like birth, growth, contraction, merge, split, and death of communities.
In a more recent work, Cordeiro, Sarmento, and Gama (2016) presented a new method that maintains the community structure
always up-to-date following the addition or removal of nodes and edges. The proposed method is a modification of the original
Louvain algorithm. It performs a local modularity optimization that maximizes the modularity gain function only for those com-
munities where the editing of nodes and edges was performed, keeping the rest of the network unchanged.
Held and Kruse (2016) proposed an online algorithm to find communities based on high-connected hubs. It is based on the
assumption that there exist some highly connected nodes, called hubs, which will group people around them. So, in the first step, the
proposed algorithm detects these hubs by the node degree and assigns to all non-hub elements the closest hub as a cluster label, then
iteratively changes the resultant clustering by applying changes: adding or removing nodes or edges.
Lastly, Guo, Zhang, Wu, and Zeng (2016) used a local interaction model to propose a novel dynamic community detection
algorithm based on distance dynamics, which detects communities in near-linear time. In this method, it is assumed that increments
can be treated as network disturbance. The main idea is to limit the range of disturbance inside a small neighbor to reduce the
number of iterations and make the local interaction model converge quickly during the increment community detection in dynamic
networks. After detecting communities at the first stage, when the network increments come, the disturbed edges are added to the
candidate set, and the local interaction model is used to make iterative computations on candidate set. The distances are updated
iteratively to achieve community detection.

5. Comparative study

So far we have presented our classification and framed the dynamic community detection methods we identified within it. In this
section, we discuss the main approaches mentioned earlier and we present the advantages and the drawbacks relative to each one of
them.
Fig. 9 shows a chart summarizing our classification of the existing methods for tracking community evolution in dynamic social
networks. We restate that the main criterion we adopted, in our classification, is the functioning principle of these methods. Indeed,
each class due to its definition is likely to group together methods designed to work on either network snapshots or temporal

14
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Fig. 9. Classification chart of the existing tracking community evolution methods in dynamic social networks.

networks (1st level of tree structure). When using network snapshots, we define three classes: independent and dependent community
detection on snapshots as well as simultaneous community detection on all snapshots; while, for temporal networks, there is only one
class (2nd level of tree structure). Then, for each of the four classes, we define subcategories, corresponding to different techniques
used to solve the related problem as described in Section 4 (3nd level of tree structure). In the following, we address each one of the
classes and highlight both its advantages and drawbacks.

1. The set of methods using a two-stage approach detect, first, communities independently for each time step, and then match the
communities to determine the evolution event that may occur in the life cycle of a community. For each work, the authors have
decided upon the possible events that might happen to a community; they have simply listed the basic events of a hypothetical
classification. The events from the different works are very similar and actually complete each other. For instance,
Asur et al. (2009) distinguish 5 possible events, i.e., the communities may dissolve, form, continue, merge and split; while
Palla et al. (2007) identify 6 distinct transformations: growth, contraction, merging, splitting, birth and death.
Bródka et al. (2013), in turn, describe 7 noticeable event types: continuing, shrinking, growing, splitting, merging, dissolving and
forming while Greene’s method (Greene et al., 2010) includes birth, death, merging, splitting, expansion and contraction of
dynamic communities. For some methods (Asur et al., 2009; Bródka et al., 2013; Palla et al., 2007), the authors have chosen the
path of following the communities in consecutive snapshots, and reconstructing the whole process of evolution out of it when
other methods (Takaffoli et al., 2011), (Tajeuna et al., 2015) have opted for tracking the transitions of communities over the entire
observation time, not only in two consecutive snapshots. It should be noted that some methods deal with clusters (Asur et al.,
2009), while others (Palla et al., 2007) follow the lifetime of overlapping communities. Concerning the process of matching
communities, the methods use different metrics. For instance, Jaccard coefficient is widely adopted for binary sets operations
between pairs of communities of consecutive snapshots (Greene et al., 2010). A new measure for comparison called inclusion
measure is defined in Bródka et al. (2013), while Tajeuna et al. (2015) proposes another similarity measure, named mutual
transition.
2. As mentioned earlier, the dependent community detection approach captures continuity with respect to communities at previous
time steps through the notion of temporal smoothness which assumes that abrupt changes in subsequent time steps are unlikely
and that these changes have small impact on the community structure. Hence, it is only suitable for networks with community
structures that are more stable over time. Many algorithms take into account the notion of overlapping communities like FacetNet
which allows the nodes to be in more than one community. While other authors like Chakrabarti et al. (2006) did not take into
consideration whether their method works for overlapping communities or not. It can be noticed that cost-based methods are
unable to handle drastic changes of the network. In fact, cost-based methods’ hypothesis that only small changes happen in the
network limits their applicability when abrupt changes happen due to different reasons.
3. In the third approach, all the evolution stages are studied simultaneously by running one single community detection which
results in communities containing not only nodes from the same snapshot but also nodes from different snapshots. The use of this
kind of algorithms does not give the possibility to handle overlapping communities since all of them work on distinct ones. Also,
they do not allow operations of fusion or division of communities.
4. The last approach is original by the fact that it deals with temporal network instead of snapshots. As a consequence, knowing the
network and the communities in the initial state of the network, these algorithms consider the set of modifications produced on
the network from a given time to another.

In what follows, the advantages and weaknesses of each approach are going to be discussed. To summarize, we first provide an
overview of the approaches in Table 5; each one of them with its major advantages and drawbacks. Later, we investigate in more
details each approach.

15
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Table 5
Approaches with their major advantages and drawbacks.

Approach Advantages Drawbacks

Independent community detection - It reuses unmodified traditional community detection methods. - Instability of community detection algorithms.
and matching - It is possible to use existing similarity measures.
Dependent community detection - It aims at coping with the instability problem. - It improves time - Traditional community detection methods are
and computational complexity no longer directly applicable.
Simultaneous community detection on - It provides a solution for the lack of stability of the two-stage - No possibility to track community evolution in a
all snapshots approach. network evolving in real time.
Dynamic community detection on - It provides a solution for the problem of instability. - It has low - Possibility to drift towards invalid communities.
temporal networks complexity of tracking communities.

Independent community detection and matching approach. The process of this approach is convenient for networks with highly dynamic
and unambiguous community structure. It has three main advantages. First, in the step of community detection in independent
snapshots, unmodified traditional community detection methods can be reused. There is also the possibility of using existing
measures for matching the communities. Finally, since the approach deals with independent snapshots, the time-saving process of
parallelism can be used for community detection. One major drawback of this approach is that the community detection algorithms
are unstable. This lack of stability results from the fact that algorithms can give very different results for two almost similar networks.
Some works tried to find solutions to solve this issue by considering the most stable part of the community (core nodes) and ignoring
nodes that frequently change membership. Nevertheless, this problem remains important, and all other approaches try to overcome
it.

Dependent community detection approach. As for the current approach, we can point the fact that it aims at coping with the instability
problem of the previous one. Yet, at the same time, it stays close to the community detection problem. Besides, most algorithms of
this category improve the time and computational complexity compared to the independent community detection approach. Often,
their aim is to reduce computational cost by reusing much of the previous community structure and incrementally update it. Now, if
we are to consider the drawbacks, we can list the following: traditional community detection methods are no longer directly
applicable. Furthermore, this approach does not allow parallelism in community detection on different snapshots which makes it very
slow when applied to large networks with many steps of evolution. In addition, there is generally a strong correlation between
community history and the result of this type of approach which may distort structural changes. Finally, we should make it clear that
since the quality of the stabilization depends solely on the algorithm proposed, it might not always be sufficient.

Simultaneous community detection on all snapshots approach. The main advantage of this approach is providing a solution for the lack of
stability of the independent community detection and matching approach by ensuring the coherence of the detected communities in
the long run. However, there are different weaknesses that can be mentioned. For example, the computational cost of this solution is
proportional to the number of snapshots in the network and their average sizes. Another shortcoming is the difficulty to detect
complex operations such as merging and splitting. Although they can be detected, no algorithm does this. Finally, with this approach,
there is no possibility to track community evolution in a network evolving in real time. Indeed, with the emergence of a new
snapshot, it is not possible to update the current result with the incoming data. This is why it is only suitable for temporal networks
that will not change overtime.

Dynamic community detection on temporal networks approach. The last approach has different advantages and drawbacks. Since the
communities evolve naturally through modifications, there is, no longer, an instability problem. Another advantage is the low
complexity of tracking communities: as the changes concern the network in close time steps, identifying community changes can be
very fast which makes the approach very appropriate for community detection in networks in real time. Despite those advantages,
this approach still has weaknesses. One problem comes from the fact that the modifications are done at a local level. As a result, they
can involve drifting towards invalid communities if compared to the current structure of the network (the detection of communities is
never done again after the initial step). Another problem is the difficulty to reuse classic static methods as their process is quite
different.

6. Conclusion

Communities are certainly the mesoscale structures most affected by changes in network topology; as time goes by the addition
and suppression of nodes and edges determine the evolution of social communities. The purpose of this paper was to review current
research on community evolution in dynamic social networks. In our survey, we have listed four main approaches and many methods
for each one have been discussed, as well as their advantages and weaknesses. Therefore, depending on the nature and the use of the
network, it is interesting to find the suitable approach that gives good results for its analysis. As we have seen, the issue of tracking

16
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

community evolution in social networks is a very active field of research, which will probably evolve even more in a near future. But
other domains related to community evolution detection will probably be explored more deeply. For example, the visualization of the
results to be able to depict community evolution in dynamic networks over time as well as the prediction of communities’ future.

References

Anita, Z., & Bader, D. A. (2016). Tracking local communities in streaming graphs with a dynamic algorithm. Social Network Analysis and Mining, 6(1), 1–16.
Asur, S., Parthasarathy, S., & Ucar, D. (2009). An event-based framework for characterizing the evolutionary behavior of interaction graphs. ACM Transactions on
Knowledge Discovery from Data (TKDD), 3(4), 1–36.
Aynaud, T., & Guillaume, J.-L. (2010). Long range community detection. Proceedings of the Lawdn-Latin-American workshop on dynamic networks4–8.
Aynaud, T., & Guillaume, J.-L. (2010). Static community detection algorithms for evolving networks. Proceedings of the modeling and optimization in mobile, ad hoc, and
wireless networks (WIOPT)508–514.
Balcan, M. F., & Liang, Y. (2013). Modeling and detecting community hierarchies. Proceedings of the international workshop on similarity-based pattern recognition.
Springer160–175.
Bansal, S., Bhowmick, S., & Paymal, P. (2011). Fast community detection for dynamic complex networks. Proceedings of the complex networks. Springer196–207.
Barabási, A.-L., & Albert, R. (1999). Emergence of scaling in random networks. Science, 286(5439), 509–512.
Berger-Wolf, T., Tantipathananandh, C., & Kempe, D. (2010). Dynamic community identification. Proceedings of the link mining: models, algorithms, and applications.
Springer307–336.
Berlingerio, M., Coscia, M., Giannotti, F., Monreale, A., & Pedreschi, D. (2011). Foundations of multidimensional network analysis. Proceedings of the international
conference on advances in social networks analysis and mining (ASONAM). IEEE485–489.
Bhat, S. Y., & Abulaish, M. (2015). Hoctracker: Tracking the evolution of hierarchical and overlapping communities in dynamic social networks. IEEE Transactions on
Knowledge and Data Engineering, 27(4), 1013–1019.
Blondel, V. D., Guillaume, J.-L., Lambiotte, R., & Lefebvre, E. (2008). Fast unfolding of communities in large networks. Journal of Statistical Mechanics: Theory and
Experiment, 2008(10), P10008.
Bródka, P., Saganowski, S., & Kazienko, P. (2013). Ged: The method for group evolution discovery in social networks. Social Network Analysis and Mining, 3(1), 1–14.
Caceres, R. S., & Berger-Wolf, T. (2013). Temporal scale of dynamic networks. Proceedings of the temporal networks. Springer65–94.
Cazabet, R., Amblard, F., & Hanachi, C. (2010). Detection of overlapping communities in dynamical social networks. Proceedings of the IEEE second international conference
on social computing (SOCIALCOM). IEEE309–314.
Cazabet, R., Chawuthai, R., & Takeda, H. (2015). Using multiple-criteria methods to evaluate community partitions, CoRR abs/1502.05149. arXiv:1502.05149.
Cazabet, R., Takeda, H., Hamasaki, M., & Amblard, F. (2012). Using dynamic community detection to identify trends in user-generated content. Social Network Analysis
and Mining, 2(4), 361–371.
Chakrabarti, D., Kumar, R., & Tomkins, A. (2006). Evolutionary clustering. Proceedings of the 12th ACM SIGKDD international conference on knowledge discovery and data
mining. ACM554–560.
Chen, Z., Wilson, K. A., Jin, Y., Hendrix, W., & Samatova, N. F. (2010). Detecting and tracking community dynamics in evolutionary networks. Proceedings of the IEEE
international conference on data mining workshops. IEEE318–327.
Chi, Y., Song, X., Zhou, D., Hino, K., & Tseng, B. L. (2007). Evolutionary spectral clustering by incorporating temporal smoothness. Proceedings of the 13th ACM SIGKDD
international conference on knowledge discovery and data mining. ACM153–162.
Chong, W. H., & Teow, L. N. (2013). An incremental batch technique for community detection. Proceedings of the 16th international conference on information fusion.
IEEE750–757.
Clauset, A. (2005). Finding local community structure in networks. Physical Review E, 72(2), 026132.
Clauset, A., Newman, M. E., & Moore, C. (2004). Finding community structure in very large networks. Physical Review E, 70(6), 066111.
Cordeiro, M., Sarmento, R. P., & Gama, J. (2016). Dynamic community detection in evolving networks using locality modularity optimization. Social Network Analysis
and Mining, 6(1), 1–20.
Coscia, M., Giannotti, F., & Pedreschi, D. (2011). A classification for community discovery methods in complex networks. Statistical Analysis and Data Mining: The ASA
Data Science Journal, 4(5), 512–546.
Creusefond, J., Largillier, T., & Peyronnet, S. (2016). On the evaluation potential of quality functions in community detection for different contexts. Proceedings of the
international conference and school on network science. Springer111–125.
Deshmukh, D., & Ingle, D. (2017). A community detection and recommendation system,.
Dinh, T. N., Xuan, Y., & Thai, M. T. (2009). Towards social-aware routing in dynamic communication networks. Proceedings of the IEEE 28th international performance
computing and communications conference. IEEE161–168.
Easley, D., & Kleinberg, J. (2010). Networks, crowds, and markets: Reasoning about a highly connected world. Cambridge University Press.
Erdős, P., & Rényi, A. (1959). On random graphs i. Publicationes Mathematicae (Debrecen), 6, 290–297.
Fasmer, E. E. (2015). Community detection in social networks. The University of Bergen Master’s thesis.
Feld, S. L. (1981). The focused organization of social ties. American Journal of Sociology, 86(5), 1015–1035.
Flake, G. W., Lawrence, S., & Giles, C. L. (2000). Efficient identification of web communities. Proceedings of the sixth ACM SIGKDD international conference on knowledge
discovery and data mining. ACM150–160.
Folino, F., & Pizzuti, C. (2014). An evolutionary multiobjective approach for community discovery in dynamic networks. IEEE Transactions on Knowledge and Data
Engineering, 26(8), 1838–1852.
Fortunato, S. (2010). Community detection in graphs. Physics Reports, 486(3), 75–174.
Gao, W., Luo, W., & Bu, C. (2016). Evolutionary community discovery in dynamic networks based on leader nodes. Proceedings of the international conference on big data and
smart computing (bigcomp). IEEE53–60.
Giatsoglou, M., & Vakali, A. (2013). Capturing social data evolution using graph clustering. IEEE Internet Computing, 17(1), 74–79.
Girvan, M., & Newman, M. E. (2002). Community structure in social and biological networks. Proceedings of the National Academy of Sciences, 99(12), 7821–7826.
Greene, D., Doyle, D., & Cunningham, P. (2010). Tracking the evolution of communities in dynamic social networks. Proceedings of the international conference on advances in
social networks analysis and mining (ASONAM). IEEE176–183.
Gregory, S. (2010). Finding overlapping communities in networks by label propagation. New Journal of Physics, 12(10), 103018.
Grünwald, P. D., Myung, I. J., & Pitt, M. A. (2005). Advances in minimum description length: Theory and applications. MIT press.
Guo, C., Wang, J., & Zhang, Z. (2014). Evolutionary community structure discovery in dynamic weighted networks. Physica A: Statistical Mechanics and its Applications,
413, 565–576.
Guo, Q., Zhang, L., Wu, B., & Zeng, X. (2016). Dynamic community detection based on distance dynamics. Proceedings of the IEEE/ACM international conference on advances
in social networks analysis and mining (ASONAM). IEEE329–336.
He, J., & Chen, D. (2015). A fast algorithm for community detection in temporal network. Physica A: Statistical Mechanics and its Applications, 429, 87–94.
Held, P., & Kruse, R. (2016). Detecting overlapping community hierarchies in dynamic graphs. Proceedings of the IEEE/ACM international conference on advances in social
networks analysis and mining (ASONAM). IEEE1063–1070.
Holme, P., & Saramäki, J. (2012). Temporal networks. Physics Reports, 519(3), 97–125.
Hopcroft, J., Khan, O., Kulis, B., & Selman, B. (2004). Tracking evolving communities in large linked networks. Proceedings of the National Academy of Sciences,
101(suppl 1), 5249–5253.

17
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Jdidia, M. B., Robardet, C., & Fleury, E. (2007). Communities detection and analysis of their dynamics in collaborative networks. Proceedings of the 2nd international
conference on digital information management (ICDIM)744–749.
Jie, Y., & Huadong, W. (2016). Discovering gangs of criminals using data fusion with social networks. International Journal of Database Theory and Application, 9(6),
33–44.
Khan, B. S., & Niazi, M. A. (2017). Network community detection: A review and visual survey, CoRR abs/1708.00977. arXiv:1708.00977.
Khorasgani, R. R., Chen, J., & Zaïane, O. R. (2010). Top leaders community detection approach in information networks. Proceedings of the 4th workshop on social network
mining and analysis, 2010. Citeseer.
Kim, M.-S., & Han, J. (2009). A particle-and-density based evolutionary clustering method for dynamic networks. Proceedings of the VLDB Endowment, 2(1), 622–633.
Kitchenham, B. (2004). Procedures for performing systematic reviews. Keele, UK, Keele University, 33(2004), 1–26.
Kolaczyk, E. D. (2009). Statistical analysis of network data: Methods and models. New York: Springer.
Lancichinetti, A., & Fortunato, S. (2009). Benchmarks for testing community detection algorithms on directed and weighted graphs with overlapping communities.
Physical Review E, 80(1), 016118.
Lancichinetti, A., Fortunato, S., & Kertész, J. (2009). Detecting the overlapping and hierarchical community structure in complex networks. New Journal of Physics,
11(3), 033015.
Lancichinetti, A., Fortunato, S., & Radicchi, F. (2008). Benchmark graphs for testing community detection algorithms. Physical Review E, 78(4), 046110.
Lee, P., Lakshmanan, L. V., & Milios, E. E. (2014). Incremental cluster evolution tracking from highly dynamic network data. Proceedings of the IEEE 30th international
conference on data engineering. IEEE3–14.
Leskovec, J., Kleinberg, J., & Faloutsos, C. (2005). Graphs over time: densification laws, shrinking diameters and possible explanations. Proceedings of the eleventh ACM
SIGKDD international conference on knowledge discovery in data mining. ACM177–187.
Leskovec, J., Lang, K. J., Dasgupta, A., & Mahoney, M. W. (2008). Statistical properties of community structure in large social and information networks. Proceedings of the
17th international conference on world wide web. ACM695–704.
Li, J., Huang, L., Bai, T., Wang, Z., & Chen, H. (2012). Cdbia: a dynamic community detection method based on incremental analysis. Proceedings of the international
conference on systems and informatics (ICSAI). IEEE2224–2228.
Lin, Y.-R., Chi, Y., Zhu, S., Sundaram, H., & Tseng, B. L. (2009). Analyzing communities and their evolutions in dynamic social networks. ACM Transactions on
Knowledge Discovery from Data (TKDD), 3(2), 1–31.
Malliaros, F. D., & Vazirgiannis, M. (2013). Clustering and community detection in directed networks: A survey. Physics Reports, 533(4), 95–142.
McDaid, A., & Hurley, N. (2010). Detecting highly overlapping communities with model-based overlapping seed expansion. Proceedings of the international conference on
advances in social networks analysis and mining (ASONAM). IEEE112–119.
McPherson, M., Smith-Lovin, L., & Cook, J. M. (2001). Birds of a feather: Homophily in social networks. Annual review of sociology, 27(1), 415–444.
Mitra, B., Tabourier, L., & Roth, C. (2012). Intrinsically dynamic network communities. Computer Networks, 56(3), 1041–1053.
Mucha, P. J., Richardson, T., Macon, K., Porter, M. A., & Onnela, J.-P. (2010). Community structure in time-dependent, multiscale, and multiplex networks. Science,
328(5980), 876–878.
Newman, M. E. (2004). Fast algorithm for detecting community structure in networks. Physical Review E, 69(6), 066133.
Newman, M. E., & Girvan, M. (2004). Finding and evaluating community structure in networks. Physical Review E, 69(2), 026113.
Nguyen, N. P., Dinh, T. N., Tokala, S., & Thai, M. T. (2011). Overlapping communities in dynamic networks: their detection and mobile applications. Proceedings of the 17th
annual international conference on mobile computing and networking. ACM85–96.
Nguyen, N. P., Dinh, T. N., Xuan, Y., & Thai, M. T. (2011). Adaptive algorithms for detecting community structure in dynamic social networks. Proceedings of the IEEE
INFOCOM. IEEE2282–2290.
Palla, G., Barabási, A.-L., & Vicsek, T. (2007). Quantifying social group evolution. Nature, 446(7136), 664–667.
Palla, G., Derényi, I., Farkas, I., & Vicsek, T. (2005). Uncovering the overlapping community structure of complex networks in nature and society. Nature, 435(7043),
814–818.
Papadopoulos, S., Kompatsiaris, Y., Vakali, A., & Spyridonos, P. (2012). Community detection in social media. Data Mining and Knowledge Discovery, 24(3), 515–554.
Parthasarathy, S., Ruan, Y., & Satuluri, V. (2011). Community discovery in social networks: Applications, methods and emerging trends. Proceedings of the social network data
analytics. Springer79–113.
Peel, L., Larremore, D. B., & Clauset, A. (2017). The ground truth about metadata and community detection in networks. Science Advances, 3(5), e1602548.
Plantié, M., & Crampes, M. (2013). Survey on social community detection. Proceedings of the social media retrieval. Springer65–85.
Pons, P., & Latapy, M. (2005). Computing communities in large networks using random walks. Proceedings of the international symposium on computer and information
sciences. Springer284–293.
Qi, G.-J., Aggarwal, C. C., & Huang, T. S. (2013). Online community detection in social sensing. Proceedings of the sixth ACM international conference on web search and data
mining. ACM617–626.
Qiu, B., Ivanova, K., Yen, J., & Liu, P. (2010). Behavior evolution and event-driven growth dynamics in social networks. Proceedings of the IEEE second international conference
on social computing (socialcom). IEEE217–224.
Radicchi, F., Castellano, C., Cecconi, F., Loreto, V., & Parisi, D. (2004). Defining and identifying communities in networks. Proceedings of the National Academy of
Sciences of the United States of America, 101(9), 2658–2663.
Rossetti, G. (2017). Rdyn: Graph benchmark handling community dynamics. Journal of Complex Networks, 5(6), 893–912.
Rossetti, G., Pappalardo, L., Pedreschi, D., & Giannotti, F. (2017). Tiles: An online algorithm for community discovery in dynamic social networks. Machine Learning,
1213–1241.
Rossetti, G., Pappalardo, L., & Rinzivillo, S. (2016). A novel approach to evaluate community detection algorithms on ground truth. Proceedings of the complex networks vii.
Springer133–144.
Rozenshtein, P., Tatti, N., & Gionis, A. (2014). Discovering dynamic communities in interaction networks. Proceedings of the joint european conference on machine learning
and knowledge discovery in databases. Springer678–693.
Schaeffer, S. E. (2007). Graph clustering. Computer science review, 1(1), 27–64.
Shang, J., Liu, L., Li, X., Xie, F., & Wu, C. (2016). Targeted revision: A learning-based approach for incremental community detection in dynamic networks. Physica A:
Statistical Mechanics and its Applications, 443, 70–85.
Shang, J., Liu, L., Xie, F., Chen, Z., Miao, J., Fang, X., & Wu, C. (2012). A real-time detecting algorithm for tracking community structure of dynamic networks. Proceedings of
the SNAKDD workshop.
Shi, J., & Malik, J. (2000). Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(8), 888–905.
Song, Q., Li, B., Yu, W., Li, J., & Shi, B. (2014). Nslpa: A node similarity based label propagation algorithm for real-time community detection. Proceedings of the IEEE/ACM
7th international conference on utility and cloud computing. IEEE Computer Society896–901.
Sun, J., Faloutsos, C., Papadimitriou, S., & Yu, P. S. (2007). Graphscope: parameter-free mining of large time-evolving graphs. Proceedings of the 13th ACM SIGKDD
international conference on knowledge discovery and data mining. ACM687–696.
Sun, Y., Tang, J., Pan, L., & Li, J. (2015). Matrix based community evolution events detection in online social networks. Proceedings of the IEEE international conference on
smart city/socialcom/sustaincom (smartcity). IEEE465–470.
Tajeuna, E. G., Bouguessa, M., & Shengrui, W. (2016). Tracking communities over time in dynamic social network. Proceedings of the machine learning and data mining in
pattern recognition. Springer341–345.
Tajeuna, E. G., Bouguessa, M., & Wang, S. (2015). Tracking the evolution of community structures in time-evolving social networks. Proceedings of the IEEE international
conference on data science and advanced analytics (DSAA). IEEE1–10.
Takaffoli, M., Sangi, F., Fagnan, J., & Zaïane, O. R. (2010). A framework for analyzing dynamic social networks. Proceedings of the 7th Conference on Applications of
Social Network Analysis (ASNA).

18
N. Dakiche et al. Information Processing and Management xxx (xxxx) xxx–xxx

Takaffoli, M., Sangi, F., Fagnan, J., & Zaïane, O. R. (2011). Community evolution mining in dynamic social networks. Procedia-Social and Behavioral Sciences, 22,
49–58.
Tang, L., & Liu, H. (2010). Community detection and mining in social media. Synthesis Lectures on Data Mining and Knowledge Discovery, 2(1), 1–137.
Tantipathananandh, C., Berger-Wolf, T., & Kempe, D. (2007). A framework for community identification in dynamic social networks. Proceedings of the 13th ACM SIGKDD
international conference on knowledge discovery and data mining. ACM717–726.
Tantipathananandh, C., & Berger-Wolf, T. Y. (2011). Finding communities in dynamic social networks. Proceedings of the IEEE 11th international conference on data mining.
IEEE1236–1241.
Van Dongen, S. (2000). A cluster algorithm for graphs. Report-Information systems, 10, 1–40.
Van Nguyen, M., Kirley, M., & García-Flores, R. (2012). Community evolution in a scientific collaboration network. Proceedings of the IEEE congress on evolutionary
computation. IEEE1–8.
Wang, Q., & Fleury, E. (2010). Mining time-dependent communities. Proceedings of the Lawdn-Latin-American workshop on dynamic networks4–8.
Wang, Y., Wu, B., & Du, N. (2008). Community evolution of social network: Feature, algorithm and model. arXiv:0804.4356 physics. soc-ph, (pp. 1–16).
Wasserman, S., & Faust, K. (1994). Social network analysis: Methods and applications. 8. Cambridge university press.
Watts, D. J., & Strogatz, S. H. (1998). Collective dynamics of â;;small-worldâ;;networks. Nature, 393(6684), 440–442.
Xie, J., Chen, M., & Szymanski, B. K. (2013). Labelrankt: Incremental community detection in dynamic networks via label propagation. Proceedings of the workshop on
dynamic networks management and mining. ACM25–32.
Xie, J., Kelley, S., & Szymanski, B. K. (2013). Overlapping community detection in networks: The state-of-the-art and comparative study. ACM Computing Surveys
(CSUR), 45(4), 1–35.
Xie, J., & Szymanski, B. K. (2013). Labelrank: A stabilized label propagation algorithm for community detection in networks. Proceedings of the IEEE 2nd network science
workshop (NSW). IEEE138–143.
Xu, H., Wang, Z., & Xiao, W. (2013). Analyzing community core evolution in mobile social networks. Proceedings of the international conference on social computing
(socialcom). IEEE154–161.
Yang, J., & Leskovec, J. (2014). Structure and overlaps of ground-truth communities in networks. ACM Transactions on Intelligent Systems and Technology (TIST),
5(2), 26.
Yang, J., & Leskovec, J. (2015). Defining and evaluating network communities based on ground-truth. Knowledge and Information Systems, 42(1), 181–213.
Yang, T., Chi, Y., Zhu, S., Gong, Y., & Jin, R. (2011). Detecting communities and their evolutions in dynamic social networks—a bayesian approach. Machine Learning,
82(2), 157–189. http://dx.doi.org/10.1007/s10994-010-5214-7.
Zakrzewska, A., & Bader, D. A. (2015). A dynamic algorithm for local community detection in graphs. Proceedings of the IEEE/ACM international conference on advances in
social networks analysis and mining. ACM559–564.
Zhu, J., Liu, J., Zhang, X., & Zhao, Y. (2016). A reconstructed event-based framework for analyzing community evolution. Proceedings of the IEEE international conference on
big data analysis (ICBDA). IEEE1–4.
Zhu, Z., Cao, G., Zhu, S., Ranjan, S., & Nucci, A. (2012). A social network based patching scheme for worm containment in cellular networks. Handbook of optimization in
complex networks. Springer505–533.

19

You might also like