Presentation is loading. Please wait.

Presentation is loading. Please wait.

Miloš Savić, Mirjana Ivanović, Miloš Radovanović

Similar presentations


Presentation on theme: "Miloš Savić, Mirjana Ivanović, Miloš Radovanović"— Presentation transcript:

1 Miloš Savić, Mirjana Ivanović, Miloš Radovanović
Characteristics of Class Collaboration Networks in Large Java Software Projects Miloš Savić, Mirjana Ivanović, Miloš Radovanović Department of Mathematics and Informatics Faculty of Science University 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
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(); } C D A 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 l15=2 [125] l17=4 [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
Erdőos-Rényi /ER/ model random networks Barabási-Albert /BA/ model scale-free networks

12 Mathematical models of complex networks - ER model -
Alg: Generate ER network Input: p – connection probability [0..1] n – number of nodes Output: ER network for (i = 1; i < n; i++) for (j = 0; j < i; j++) if (p <= 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 rules 1. Class A gives an incoming link to class B if A imports B 2. Class A gives an incoming link to class B if B is in the same package as A, and A references B 3. Class A gives an incoming link to class B if A references B through it’s 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 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.18 γ[out] 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] JDK 0.9541 0.9667 Ant 0.9927 0.9281 Tomcat 0.9294 3.5026 0.9499 Lucene 0.9050 0.9028 JavaCC 0.8946 0.9656 γ[in] < γ[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 c[rand] 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 l[Tomcat] ~ lnln(N[Tomcat]) l[JavaCC] ~lnln(N[JavaCC]) c >> c[rand]

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 Ant’s class collaboration network evolution

26 Miloš Savić, Mirjana Ivanović, Miloš Radovanović
Characteristics of Class Collaboration Networks in Large Java Software Projects Miloš Savić, Mirjana Ivanović, Miloš Radovanović Department of Mathematics and Informatics Faculty of Science University of Novi Sad


Download ppt "Miloš Savić, Mirjana Ivanović, Miloš Radovanović"

Similar presentations


Ads by Google