Visual Exploration of Large-Scale System Evolution

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Visual Exploration of Large-Scale System Evolution - Presentation Transcript

    1. Visual Exploration of Large-Scale System Evolution Richard Wettel and Michele Lanza REVEAL group, Faculty of Informatics University of Lugano, Switzerland
    2. Photo: SkyShaper (Flickr) Software systems as cities
    3. The city metaphor Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    4. The city metaphor domain mapping class building package district system city Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    5. The city metaphor domain mapping class building package district system city Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    6. The city metaphor domain mapping class building package district system city Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    7. The city metaphor domain mapping class building package district system city Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    8. The city metaphor domain mapping class building package district system city number of methods (NOM) height number of attributes (NOA) base size Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    9. The city metaphor domain mapping class building package district system city nesting level color number of methods (NOM) height number of attributes (NOA) base size Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    10. The city metaphor domain mapping class building package district system city nesting level color number of methods (NOM) height number of attributes (NOA) base size [Wettel & Lanza, ICPC 2007] [Wettel & Lanza, VISSOFT 2007] Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 3
    11. Decoding a city: ArgoUML Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 4
    12. Decoding a city: ArgoUML skyscrapers (NOM, NOA) Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 4
    13. Decoding a city: ArgoUML skyscrapers (NOM, NOA) parking lots (NOM, NOA) Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 4
    14. Decoding a city: ArgoUML skyscrapers (NOM, NOA) office buildings parking lots (NOM, NOA) (NOM, NOA) Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 4
    15. Code cities Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    16. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    17. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    18. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    19. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    20. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    21. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    22. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    23. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    24. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    25. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    26. Code cities System Language NOP NOC kLOC Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    27. System Language NOP NOC kLOC Code cities Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    28. System Language NOP NOC kLOC Code cities Azureus Java 457 4734 274 ArgoUML Java 144 2542 137 JHotDraw Java 72 998 30 iText Java 149 1250 80 Jmol Java 105 1032 85 JDK 1.5 Java 137 4715 160 Moose Smalltalk 278 961 32 Jun Smalltalk 288 2236 351 CodeCity Smalltalk 129 291 18 ScumVM C++ 18 1331 105 1.25 million LOC Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 5
    29. Software in time...
    30. Numbers on the history data System ArgoUML JHotDraw Jmol Packages 144 72 105 Classes 2,542 998 1,032 Lines of code 137,000 30,000 85,000 Sampling start Oct. 2002 Oct. 2000 Jan. 2000 Sampling end Feb. 2007 Apr. 2005 Aug. 2007 Revisions 15,535 267 8,065 Sampling period release-based 1 week 6 months 8 weeks Samples 9 57 8 50 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 7
    31. Evolution of a code city: ArgoUML Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 8
    32. Evolution of a code city: ArgoUML Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 8
    33. Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
    34. 1. Age map Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
    35. 1. Age map 2. Time travel Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
    36. 1. Age map 2. Time travel 3. Timeline Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 9
    37. Age map
    38. Principle of age map Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 11
    39. Principle of age map Glimpse in the past entities colored according to age Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 11
    40. Principle of age map Glimpse in the past entities colored according to age N 1 veteran new-born Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 11
    41. Principle of age map Glimpse in the past entities colored according to age N 1 veteran new-born Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 11
    42. Principle of age map Glimpse in the past entities colored according to age N 1 veteran new-born age (number of survived versions) Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 11
    43. Coarse-grained age map: ArgoUML Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 12
    44. Coarse-grained age map: ArgoUML org.argouml.language. java.generator JavaTokenTypes JavaRecognizer 146 attributes 24 attributes 0 methods 91 methods Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 12
    45. Coarse-grained age map: ArgoUML org.argouml.language. java.generator JavaTokenTypes JavaRecognizer 146 attributes 24 attributes 0 methods 91 methods JavaTokenTypes JavaRecognizer 173 attributes 79 attributes 0 methods 176 methods org.argouml.uml.reveng.java Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 12
    46. Refining the granularity class C NOM = 7 2 = NO A A= NO 2 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 13
    47. Refining the granularity class C NOM = 7 2 = NO A A= NO 2 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 13
    48. Refining the granularity new class C m6 NOM = 7 m5 m7 m2 m1 m3 old m4 las sC c 2 = NO A A= NO 2 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 13
    49. Fine-grained age map: JHotDraw CH.ifa.draw.framework class StandardDrawingView CH.ifa.draw.figures in CH.ifa.draw.standard. class DrawApplication in CH.ifa.draw.application library packages: java javax junit org.w3c.dom CH.ifa.draw.standard CH.ifa.draw.test (classes) AllTests Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 14
    50. Buildings in age maps age: 1 2 3 4 5 6 7 8 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 15
    51. Buildings in age maps age: 1 2 3 4 5 6 7 8 stable very old Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 15
    52. Buildings in age maps age: 1 2 3 4 5 6 7 8 stable rarely updated very old old Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 15
    53. Buildings in age maps age: 1 2 3 4 5 6 7 8 stable highly unstable rarely updated very old old young Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 15
    54. Buildings in age maps updated often, age: 1 2 3 4 5 6 7 8 rather unstable stable highly unstable rarely updated very old old young very old Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 15
    55. Time travel
    56. Travelling through ArgoUML’s time 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    57. Travelling through ArgoUML’s time 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    58. Travelling through ArgoUML’s time ModelFacade NOM: 184, NOA: 60 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    59. Travelling through ArgoUML’s time ModelFacade NOM: 435, NOA: 108 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    60. Travelling through ArgoUML’s time NSUMLModelFacade Facade NOM: 319, NOA: 2 NOM: 306, NOA: 1 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    61. Travelling through ArgoUML’s time NSUMLModelFacade Facade NOM: 334, NOA: 2 NOM: 319, NOA: 1 0.10.1 0.12 0.14 FacadeMDRImpl 0.16 NOM: 329, NOA: 2 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    62. Travelling through ArgoUML’s time Facade NOM: 329, NOA: 1 0.10.1 0.12 0.14 FacadeMDRImpl 0.16 NOM: 340, NOA: 3 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    63. Travelling through ArgoUML’s time 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    64. Travelling through ArgoUML’s time 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.23.4 0.24 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 17
    65. Reality check no. 1 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 18
    66. Reality check no. 1 L.T., main developer of ArgoUML: “ModelFacade was an implementation of the model subsystem using NSUML repository. When the change was made to MDR we turned this to a regular interface allowing for several different repositories.” “The attributes in the ModelFacade are not attributes but constant tokens used in the NSUML repository implementation.” Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 18
    67. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    68. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    69. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    70. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    71. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    72. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    73. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    74. Example of system getting old JHotDraw Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 19
    75. Reality check no. 2 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 20
    76. Reality check no. 2 W.K., developer of JHotDraw: “I used a JavaDoc-based code generator to automatically generate test cases for the JHotDraw. Therefore, the test methods are still not implemented and only the work to do is outlined.“ Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 20
    77. Story of Jmol’s evolution Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 21
    78. 1887 Sep. 1887 Dec. 1888 Mar. 1888 Jun. 1888 Sep. 1888 Dec. 1889 Mar. Timeline
    79. Timeline principles History of class C Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    80. Timeline principles History of class C m5 m3 on s) er si e (v V1 tim Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    81. Timeline principles History of class C m12 m8 m5 m3 m3 V2 on s) er si e (v V1 tim Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    82. Timeline principles History of class C m12 m8 m5 m3 m3 V2 on s) er si e (v V1 tim Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    83. Timeline principles m18 History of class C m12 m12 m8 m5 m3 V3 m3 V2 on s) er si e (v V1 tim Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    84. Timeline principles m18 History of class C m12 m12 m8 m5 m3 V3 m3 V2 on s) er si e (v V1 tim Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 23
    85. Code decays... StandardDrawingView Eval GeneratorJava (JHotDraw) (Jmol) (ArgoUML) Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 24
    86. Color anomalies reveal restores Graphics3D applyBlueAnaglyph disappears after v10 reappears in v18 forcePixel disappears after v1 reappears in v9 fillTriangle disappears after v5 reappears in v21 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 25
    87. Color anomalies reveal restores Graphics3D Contemporary applyBlueAnaglyph disappears after v10 methods have reappears in v18 the same color. forcePixel disappears after v1 reappears in v9 fillTriangle disappears after v5 reappears in v21 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 25
    88. Color anomalies reveal restores Graphics3D Contemporary applyBlueAnaglyph disappears after v10 methods have reappears in v18 the same color. forcePixel disappears after v1 reappears in v9 Contemporary methods are also neighbors. fillTriangle disappears after v5 reappears in v21 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 25
    89. Similar pattern in Jmol timelines Viewer TransformManager JmolViewer Eval Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 26
    90. Similar pattern in Jmol timelines Viewer TransformManager JmolViewer Eval Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 26
    91. Reality check no. 3 Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 27
    92. Reality check no. 3 Subversion logs: r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.” r5579: “Revert of vecmathlib change”. Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 27
    93. Reality check no. 3 Subversion logs: r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.” r5579: “Revert of vecmathlib change”. N.V., developer: “Your hypothesis is probably correct. We found some major problems, and diagnostic was too difficult, so we reverted to a stable version and tried to apply patches in small batch.” Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 27
    94. Reality check no. 3 Subversion logs: r5091: “No more javax.vecmath.Point3f in g3d shape drawing routines. There were some cases where screen coordinates were being passed in as Point3f objects ... not a good thing.” r5579: “Revert of vecmathlib change”. N.V., developer: “Your hypothesis is probably correct. We found some major problems, and diagnostic was too difficult, so we reverted to a stable version and tried to apply patches in small batch.” B.H., developer: “It was quite a nightmare for everyone involved. The issue was that I was new to the project and had committed quite a few additions to Jmol thinking that M. was monitoring; as it turned out he found my additions too much too fast, and because there was a problem with the graphics display module g3d that resulted in some slow performance, he opted to revert to an earlier state. In the end it turned out to be a recent addition to transparency in the graphics, not anything I had done, that caused the problem. In any case, we did sort of start over -- or at least I did.” Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 27
    95. Closing remarks Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 28
    96. Closing remarks Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 28
    97. Closing remarks Our visualizations techniques for software evolution reveal insights unavailable outside the historical context. Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 28
    98. Closing remarks Our visualizations techniques for software evolution reveal insights unavailable outside the historical context. http://www.inf.unisi.ch/phd/wettel/codecity.html Richard Wettel and Michele Lanza Visual Exploration of Large-Scale System Evolution 28
    99. Richard Wettel http://www.inf.unisi.ch/phd/wettel http://creativecommons.org/licenses/by/3.0/

    + Richard WettelRichard Wettel, 2 years ago

    custom

    1281 views, 1 favs, 4 embeds more stats

    On visualization of software evolution using a 3D c more

    More info about this document

    CC Attribution License

    Go to text version

    • Total Views 1281
      • 1149 on SlideShare
      • 132 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 54
    Most viewed embeds
    • 120 views on http://www.inf.unisi.ch
    • 9 views on http://www.inf.usi.ch
    • 2 views on http://static.slidesharecdn.com
    • 1 views on http://192.168.10.100

    more

    All embeds
    • 120 views on http://www.inf.unisi.ch
    • 9 views on http://www.inf.usi.ch
    • 2 views on http://static.slidesharecdn.com
    • 1 views on http://192.168.10.100

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories