logo Netzschleuder network catalog, repository, and centrifuge

software_dependencies — Software dependencies (2010)

Description

Class dependency networks of several Java software systems, constructed by L. Šubelj and collaborators from the source code. Nodes are software classes (including interfaces and nested classes) and a directed edge $i \to j$ indicates that class $i$ depends on (references) class $j$ (e.g. java.applet.Applet points to its superclass java.awt.Panel). The upstream files list one line per dependency, so a pair of classes can be connected by multiple parallel edges. The networks include all classes of the respective systems, also those without dependencies (e.g. 54 of the 6,488 classes of jdk are isolated).

  • From Šubelj and Bajec (Physica A, 2011): javax, java and org (the corresponding namespaces of the Java SE Development Kit, JDK, version 1.6.0.7), colt (Colt 1.2.0, namespace cern; the same network, with the same class numbers and the same 3,691 dependencies, is distributed again with dependency types for Šubelj, Blagus and Bajec, NetSci 2013, and the types are included here), jung (JUNG 2.0.1, namespace edu.uci.ics.jung), flamingo (Flamingo 4.1), jmail (JavaMail 1.4.3) and junit (JUnit 4.8.1).
  • From Šubelj and Bajec (SoftwareMining, 2012): jdk (the whole JDK 1.6.0.7), weka (Weka 3.6.6), jung-j (JUNG 2.0.1 together with the java and javax namespaces of the JDK) and jung-c (JUNG 2.0.1 together with Colt 1.2.0).
  • guava: Guava r07 core libraries, where an edge indicates that the documentation of a class references another class.
  • slucene (Lucene 4.1.0), from Šubelj, Blagus and Bajec (NetSci, 2013), and sjung (JUNG 2.0.1) and sjbullet (JBullet 2.72), from Šubelj et al. (Advs. Complex Syst., 2014).

The networks have the following properties:

  • Nodes: name, the fully qualified name of the class (e.g. java.applet.Applet, with a dollar sign separating nested classes); not available for slucene, sjung and sjbullet, for which no class names are distributed upstream.
  • Edges: type, only for slucene, colt, sjung and sjbullet, a letter code given upstream for each dependency (c, p, r, s, ...), presumably the type of dependency, whose meaning is not documented upstream.
Tags
Technological Software Unweighted Multigraph Metadata
Citation
  • L. Šubelj, M. Bajec, "Community structure of complex software systems: Analysis and applications." Physica A 390(16), 2968-2975 (2011) 10.1016/j.physa.2011.03.036 Sci-Hub
  • L. Šubelj, M. Bajec, "Software systems through complex networks science: Review, analysis and applications." Proc. 1st International Workshop on Software Mining (SoftwareMining 12), 9-16 (2012) 10.1145/2384416.2384418 Sci-Hub
  • L. Šubelj, M. Bajec, "Clustering assortativity, communities and functional modules in real-world networks." arXiv:1202.3188 (2012) arXiv:1202.3188
  • L. Šubelj, N. Blagus, M. Bajec, "Group extraction for real-world networks: The case of communities, modules, and hubs and spokes." Proc. of NetSci 13, 152 (2013) lovro.fri.uni-lj.si
  • L. Šubelj, S. Žitnik, N. Blagus, M. Bajec, "Node mixing and group structure of complex software networks." Advs. Complex Syst. 17(7-8), 1450022 (2014) 10.1142/S0219525914500222 Sci-Hub
Upstream URL OK
http://wwwlovre.appspot.com/support.jsp
Networks
Tip: click on a column header to sort the list, or hover over it for a description.
Column legend
$\left<k\right>$
Mean degree
$\sigma_k$
Standard deviation of the degrees
$\lambda_h$
Largest eigenvalue of the Hashimoto (non-backtracking) matrix
$\tau$
Random walk mixing time
$r$
Degree assortativity
$c$
Global clustering coefficient
$\oslash$
(Pseudo-) diameter
$S$
Relative size of the largest component
NPs
Node properties
EPs
Edge properties
Name Nodes Edges $\left<k\right>$ $\sigma_k$ $\lambda_h$ $\tau$ $r$ $c$ $\oslash$ $S$ Kind Mode NPs EPs gt GraphML GML csv
jdk 6,488 150,985 23.27 479.26 129.28 15.74 -0.22 0.02 7 0.99 Directed Unipartite 143 KiB 522 KiB 509 KiB 305 KiB
jung-j 6,126 138,706 22.64 423.69 128.35 15.74 -0.23 0.02 7 1.00 Directed Unipartite 137 KiB 484 KiB 482 KiB 281 KiB
javax 3,310 22,370 6.76 59.13 42.52 418.89 -0.15 0.07 13 0.47 Directed Unipartite 63 KiB 121 KiB 121 KiB 87 KiB
java 2,379 34,858 14.65 203.53 72.40 8.49 -0.30 0.03 5 1.00 Directed Unipartite 52 KiB 138 KiB 133 KiB 85 KiB
slucene 3,471 17,512 5.05 32.76 34.35 173.27 -0.24 0.06 15 0.81 Directed Unipartite 64 KiB 123 KiB 122 KiB 89 KiB
weka 2,124 10,000 4.71 51.49 35.09 562.89 -0.27 0.04 13 0.58 Directed Unipartite 39 KiB 71 KiB 69 KiB 52 KiB
jung-c 1,040 5,363 5.16 37.38 16.46 576.87 -0.17 0.11 14 0.85 Directed Unipartite 19 KiB 35 KiB 34 KiB 23 KiB
guava 838 3,088 3.68 24.91 12.06 769.76 -0.23 0.08 17 0.55 Directed Unipartite 15 KiB 25 KiB 25 KiB 18 KiB
org 799 7,895 9.88 67.51 35.69 99.75 -0.26 0.14 5 0.61 Directed Unipartite 16 KiB 36 KiB 34 KiB 24 KiB
colt 550 3,691 6.71 48.61 16.44 41.04 -0.26 0.11 8 0.92 Directed Unipartite 10 KiB 19 KiB 19 KiB 12 KiB
jung 532 1,730 3.25 16.34 9.53 192.60 -0.21 0.10 11 0.75 Directed Unipartite 10 KiB 16 KiB 16 KiB 12 KiB
sjung 533 1,735 3.26 16.34 9.53 192.26 -0.21 0.10 11 0.75 Directed Unipartite 10 KiB 16 KiB 16 KiB 12 KiB
flamingo 388 846 2.18 8.63 8.82 93.93 -0.04 0.15 12 0.59 Directed Unipartite 7 KiB 11 KiB 11 KiB 8 KiB
jmail 282 893 3.17 11.30 10.83 17.58 -0.05 0.22 9 0.68 Directed Unipartite 6 KiB 9 KiB 9 KiB 7 KiB
sjbullet 309 1,742 5.64 23.30 13.12 15.89 -0.17 0.16 10 0.81 Directed Unipartite 7 KiB 11 KiB 11 KiB 8 KiB
junit 181 470 2.60 9.54 10.74 36.48 -0.22 0.20 8 0.58 Directed Unipartite 4 KiB 6 KiB 5 KiB 4 KiB
Ridiculograms*
* These are automatically generated force-directed visualizations, and can be quite meaningless for networks both big and small. They should not be taken seriously as sources of scientific insight. See here for a discussion.