828 research outputs found
Ubiquitousness of link-density and link-pattern communities in real-world networks
Community structure appears to be an intrinsic property of many complex
real-world networks. However, recent work shows that real-world networks reveal
even more sophisticated modules than classical cohesive (link-density)
communities. In particular, networks can also be naturally partitioned
according to similar patterns of connectedness among the nodes, revealing
link-pattern communities. We here propose a propagation based algorithm that
can extract both link-density and link-pattern communities, without any prior
knowledge of the true structure. The algorithm was first validated on different
classes of synthetic benchmark networks with community structure, and also on
random networks. We have further applied the algorithm to different social,
information, technological and biological networks, where it indeed reveals
meaningful (composites of) link-density and link-pattern communities. The
results thus seem to imply that, similarly as link-density counterparts,
link-pattern communities appear ubiquitous in nature and design
Community structure of complex software systems: Analysis and applications
Due to notable discoveries in the fast evolving field of complex networks,
recent research in software engineering has also focused on representing
software systems with networks. Previous work has observed that these networks
follow scale-free degree distributions and reveal small-world phenomena, while
we here explore another property commonly found in different complex networks,
i.e. community structure. We adopt class dependency networks, where nodes
represent software classes and edges represent dependencies among them, and
show that these networks reveal a significant community structure,
characterized by similar properties as observed in other complex networks.
However, although intuitive and anticipated by different phenomena, identified
communities do not exactly correspond to software packages. We empirically
confirm our observations on several networks constructed from Java and various
third party libraries, and propose different applications of community
detection to software engineering
On the Analysis of a Label Propagation Algorithm for Community Detection
This paper initiates formal analysis of a simple, distributed algorithm for
community detection on networks. We analyze an algorithm that we call
\textsc{Max-LPA}, both in terms of its convergence time and in terms of the
"quality" of the communities detected. \textsc{Max-LPA} is an instance of a
class of community detection algorithms called \textit{label propagation}
algorithms. As far as we know, most analysis of label propagation algorithms
thus far has been empirical in nature and in this paper we seek a theoretical
understanding of label propagation algorithms. In our main result, we define a
clustered version of \er random graphs with clusters where
the probability , of an edge connecting nodes within a cluster is
higher than , the probability of an edge connecting nodes in distinct
clusters. We show that even with fairly general restrictions on and
( for any , , where is the number of nodes), \textsc{Max-LPA} detects the
clusters in just two rounds. Based on this and on empirical
results, we conjecture that \textsc{Max-LPA} can correctly and quickly identify
communities on clustered \er graphs even when the clusters are much sparser,
i.e., with for some .Comment: 17 pages. Submitted to ICDCN 201
Software systems through complex networks science: Review, analysis and applications
Complex software systems are among most sophisticated human-made systems, yet
only little is known about the actual structure of 'good' software. We here
study different software systems developed in Java from the perspective of
network science. The study reveals that network theory can provide a prominent
set of techniques for the exploratory analysis of large complex software
system. We further identify several applications in software engineering, and
propose different network-based quality indicators that address software
design, efficiency, reusability, vulnerability, controllability and other. We
also highlight various interesting findings, e.g., software systems are highly
vulnerable to processes like bug propagation, however, they are not easily
controllable
Robust network community detection using balanced propagation
Label propagation has proven to be an extremely fast method for detecting
communities in large complex networks. Furthermore, due to its simplicity, it
is also currently one of the most commonly adopted algorithms in the
literature. Despite various subsequent advances, an important issue of the
algorithm has not yet been properly addressed. Random (node) update orders
within the algorithm severely hamper its robustness, and consequently also the
stability of the identified community structure. We note that an update order
can be seen as increasing propagation preferences from certain nodes, and
propose a balanced propagation that counteracts for the introduced randomness
by utilizing node balancers. We have evaluated the proposed approach on
synthetic networks with planted partition, and on several real-world networks
with community structure. The results confirm that balanced propagation is
significantly more robust than label propagation, when the performance of
community detection is even improved. Thus, balanced propagation retains high
scalability and algorithmic simplicity of label propagation, but improves on
its stability and performance
- …