Characteristics of Class Collaboration Networks in Large Java Software Projects PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Characteristics of Class Collaboration Networks in Large Java Software Projects


1
Characteristics 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

2
Content
  • Class collaboration networks
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

3
Content
  • Class collaboration networks
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

4
Class 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

5
Class 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()

6
Content
  • Class collaboration networks
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

7
Characteristics 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
8
Characteristics 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
9
Characteristics 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
10
Content
  • Class collaboration networks
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

11
Mathematical models of complex networks
  • Erdoos-Rényi /ER/ modelrandom networks
  • Barabási-Albert /BA/ modelscale-free networks

12
Mathematical 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)
13
Mathematical 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
14
Mathematical 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
15
Content
  • Class collaboration network
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

16
Network 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

17
Content
  • Class collaboration network
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

18
Experiments 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?

19
Experiments 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
20
Experiments 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
21
Experiments 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
22
Experiments 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
23
Experiments 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
24
Content
  • Class collaboration network
  • Characteristics of complex networks
  • Mathematical models of complex networks
  • Network extraction
  • Experiments and results
  • Conclusion

25
Conclusion
  • 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

26
Characteristics 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
Write a Comment
User Comments (0)
About PowerShow.com