Title: Characteristics of Class Collaboration Networks in Large Java Software Projects
1Characteristics of Class Collaboration Networks
in Large Java Software Projects
- Miloš Savic, Mirjana Ivanovic, Miloš Radovanovic
- Department of Mathematics and InformaticsFaculty
of ScienceUniversity of Novi Sad
2Content
- Class collaboration networks
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
3Content
- Class collaboration networks
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
4Class Collaboration Networks- Definition -
- Software complex, modular, interacting system
- Java Class Collaboration Networks nodes
classes/interfaces links interactions among
classes/interfaces - Interaction ? Reference Class A instantiates
and/or uses objects of class B Class A extends
class B Class A implements interface B
5Class Collaboration Networks- Example -
interface A class B implements A
class C public void methodC(B b)
b.someMethod()
class D extends C implements A
public B makeB() return new B()
6Content
- Class collaboration networks
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
7Characteristics of complex networks- Degree
distribution -
- Node degree number of links for the node
- Distribution function P(k) probability that a
randomly selected node has exactly k
links - Directed graph incoming and outgoing degree
distributions
A
E
D
B
C
8Characteristics of complex networks - Small
world property -
3
- Relatively short path between any two nodes
- L ln(N) small world phenomena
- L lnln(N) - ultra small world phenomena
6
1
4
7
5
2
l152 1?2?5 l174 1?3?4?6 ? 7
9Characteristics of complex networks - Clustering
coefficient -
- Tendency to cluster
- Node i- ki links to ki nodes (neighbours)- Ei
number of links between neighbours - Neighbours with node i forms complete subgraph ?
Ci 1
i
10Content
- Class collaboration networks
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
11Mathematical models of complex networks
- Erdoos-Rényi /ER/ modelrandom networks
- Barabási-Albert /BA/ modelscale-free networks
12Mathematical models of complex networks- ER
model -
Alg Generate ER networkInput p connection
probability 0..1n number of nodesOutput
ER networkfor (i 1 i lt n i) for (j
0 j lt i j) if (p lt rand(0, 1))
Connect(i, j)
13Mathematical models of complex networks- BA
model -
- Start with small random graph
- Growth in each iteration add new node with m
links - Preferential attachment new node prefers to
link to highly connected nodes
the probability that the new node connects to a
node with k links is proportional to k
14Mathematical models of complex networks- BA
model -
1. The most of real/engineered networks are
scale-free and can be modeled by BA model and
its modifications 2. Both models
can produce small world property 3. Clustering
coefficient of scale-free network is much larger
than in a comparable random network
15Content
- Class collaboration network
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
16Network Extraction
- Class diagrams/JavaDoc/Source code
- YACCNE Jung, JavaCC
- Node connecting rules1. Class A gives an
incoming link to class B if A imports B2. Class
A gives an incoming link to class B if B is in
the same package as A, and A references
B3. Class A gives an incoming link to class B if
A references B through its full package
path 4. References that come outside the
software system are excluded
17Content
- Class collaboration network
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
18Experiments and results- Experiments -
- JDK, Tomcat, Ant, Lucene, JavaCC- cumulative
incoming/outgoing link degree distributions-
small-world coefficient- clustering coefficient - Ten successive versions of Ant (from 1.5.2 to
1.7.0)- compared- can preferential attachment
rule model Ant evolution?
19Experiments and results - JDK -
Our work (Valverde and Solé, 2003)
?in 2.17493 2.18
?out 3.63214 3.39
Small-world coefficient 4.391 5.40
Clustering coefficient 0.453 0.225
Extraction method Source code Class diagrams
20Experiments and results - In/Out Degree
distributions -
Class collaboration network ?in R2 ?out R2
JDK 2.17493 0.9541 3.63214 0.9667
Ant 2.05001 0.9927 3.93654 0.9281
Tomcat 2.35234 0.9294 3.5026 0.9499
Lucene 1.98075 0.9050 4.29761 0.9028
JavaCC 2.26362 0.8946 2.20816 0.9656
?in lt ?out (except JavaCC) Same result
for variuos CCNs Myers(2003), Valverde and Solé,
2003
21Experiments and results - Small world and
clustering coefficient -
nodes links l c crand
JDK 1878 12806 4.391 0.453 0.0036
Ant 778 3634 4.131 0.505 0.006
Tomcat 1046 4646 1.909 0.464 0.0042
Lucene 354 2221 2.2778 0.386 0.0177
JavaCC 79 274 1.22 0.437 0.0439
lTomcat lnln(NTomcat) lJavaCC
lnln(NJavaCC) c gtgt crand
22Experiments and results- Ant CCN Evolution -
org.apache.tools.ant.BuildException
(336, 63)
org.apache.tools.ant.Project
(220, 43)
org.apache.tools.ant.Task
(124, 22)
1.5.4 536 nodes, 2241 links 1.6.0 114 new
nodes, 525 new links
23Experiments and results - Ant CCN Evolution -
org.apache.tools.ant.BuildException
(417, 69)
org.apache.tools.ant.Project
(269, 44)
1.6.5 690 nodes, 3000 links 1.7.0 132 new
nodes, 44 deleted nodes, 634 new links
24Content
- Class collaboration network
- Characteristics of complex networks
- Mathematical models of complex networks
- Network extraction
- Experiments and results
- Conclusion
25Conclusion
- Analyzed networks exhibit scale-free (or nearly
scale-free) and small-world properties. - The preferential attachment concept introduced in
the BA model can explain Ants class
collaboration network evolution
26Characteristics of Class Collaboration Networks
in Large Java Software Projects
- Miloš Savic, Mirjana Ivanovic, Miloš Radovanovic
- Department of Mathematics and InformaticsFaculty
of ScienceUniversity of Novi Sad