SlideShare ist ein Scribd-Unternehmen logo
1 von 99
Downloaden Sie, um offline zu lesen
Visual Exploration of Large-Scale

 System Evolution
       Richard Wettel and Michele Lanza
         REVEAL group, Faculty of Informatics
            University of Lugano, Switzerland
Photo: SkyShaper (Flickr)




Software systems as cities
The city metaphor




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   3
The city metaphor
   domain mapping

   class              building

   package            district

   system             city




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   3
The city metaphor
   domain mapping

   class              building

   package            district

   system             city




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   3
The city metaphor
   domain mapping

   class              building

   package            district

   system             city




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   3
The city metaphor
   domain mapping

   class              building

   package            district

   system             city




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   3
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
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
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
Decoding a city: ArgoUML




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   4
Decoding a city: ArgoUML
                 skyscrapers
                  (NOM, NOA)




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   4
Decoding a city: ArgoUML
                 skyscrapers
                  (NOM, NOA)




parking lots
 (NOM, NOA)
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   4
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
Code cities




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   5
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
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
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
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
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
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
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
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
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
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
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
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
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
Software in time...
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
Evolution of a code city: ArgoUML




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   8
Evolution of a code city: ArgoUML




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   8
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   9
1. Age map
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   9
1. Age map 2. Time travel
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   9
1. Age map 2. Time travel                                       3. Timeline
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   9
Age map
Principle of age map




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   11
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
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
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
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
Coarse-grained age map: ArgoUML




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   12
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
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
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
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
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
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
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
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
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
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
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
Time travel
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
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
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
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
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
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
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
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
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
Reality check no. 1




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   18
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
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Example of system getting old




   JHotDraw
Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   19
Reality check no. 2




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   20
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
Story of Jmol’s evolution




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   21
1887 Sep.   1887 Dec.   1888 Mar.   1888 Jun.   1888 Sep.   1888 Dec.   1889 Mar.




                                                            Timeline
Timeline principles

 History of class C




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   23
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
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
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
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
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
Code decays...

StandardDrawingView                Eval                                      GeneratorJava
(JHotDraw)                         (Jmol)                                    (ArgoUML)




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution        24
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
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
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
Similar pattern in Jmol timelines
                                         Viewer



TransformManager




   JmolViewer

                                                                                         Eval

 Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution          26
Similar pattern in Jmol timelines
                                         Viewer



TransformManager




   JmolViewer

                                                                                         Eval

 Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution          26
Reality check no. 3




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   27
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
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
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
Closing remarks




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   28
Closing remarks




Richard Wettel and Michele Lanza   Visual Exploration of Large-Scale System Evolution   28
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
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
Richard Wettel
http://www.inf.unisi.ch/phd/wettel




 http://creativecommons.org/licenses/by/3.0/

Weitere ähnliche Inhalte

Was ist angesagt?

Captura de pacotes no KernelSpace
Captura de pacotes no KernelSpaceCaptura de pacotes no KernelSpace
Captura de pacotes no KernelSpacePeslPinguim
 
Durgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpgaDurgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpgaObsidian Software
 
M I C R O P R O C E S S O R S A N D I N T E R F A C I N G J N T U M O D E...
M I C R O P R O C E S S O R S  A N D  I N T E R F A C I N G  J N T U  M O D E...M I C R O P R O C E S S O R S  A N D  I N T E R F A C I N G  J N T U  M O D E...
M I C R O P R O C E S S O R S A N D I N T E R F A C I N G J N T U M O D E...guest3f9c6b
 
LOD2 Webinar: The 2nd release of the LOD2 stack
LOD2 Webinar: The 2nd release of the LOD2 stackLOD2 Webinar: The 2nd release of the LOD2 stack
LOD2 Webinar: The 2nd release of the LOD2 stackSemantic Web Company
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer InterfaceChun-Yu Wang
 
Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Raffael Marty
 

Was ist angesagt? (6)

Captura de pacotes no KernelSpace
Captura de pacotes no KernelSpaceCaptura de pacotes no KernelSpace
Captura de pacotes no KernelSpace
 
Durgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpgaDurgam vahia open_sparc_fpga
Durgam vahia open_sparc_fpga
 
M I C R O P R O C E S S O R S A N D I N T E R F A C I N G J N T U M O D E...
M I C R O P R O C E S S O R S  A N D  I N T E R F A C I N G  J N T U  M O D E...M I C R O P R O C E S S O R S  A N D  I N T E R F A C I N G  J N T U  M O D E...
M I C R O P R O C E S S O R S A N D I N T E R F A C I N G J N T U M O D E...
 
LOD2 Webinar: The 2nd release of the LOD2 stack
LOD2 Webinar: The 2nd release of the LOD2 stackLOD2 Webinar: The 2nd release of the LOD2 stack
LOD2 Webinar: The 2nd release of the LOD2 stack
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer Interface
 
Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006Log Visualization - Bellua BCS 2006
Log Visualization - Bellua BCS 2006
 

Ähnlich wie Visual Exploration of Large-Scale System Evolution

EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionEvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionMichele Lanza
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneKonrad Malawski
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeIntel® Software
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVAHome
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute projectDmitry Buzdin
 
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)JAY SHAH
 
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...nimbusinfo
 
Introduction of IPv6NET in Tridentcom 2014
Introduction of IPv6NET in Tridentcom 2014Introduction of IPv6NET in Tridentcom 2014
Introduction of IPv6NET in Tridentcom 2014Marius Georgescu
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Arun Gupta
 
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Baruch Sadogursky
 
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormServerless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormDmitri Zimine
 
Javaforum 20110915
Javaforum 20110915Javaforum 20110915
Javaforum 20110915Squeed
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneThinkOpen
 
Cocoa Design Patterns
Cocoa Design PatternsCocoa Design Patterns
Cocoa Design Patternssgleadow
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEQAware GmbH
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEMario-Leander Reimer
 
CloudCon2012 Ruo Ando
CloudCon2012 Ruo AndoCloudCon2012 Ruo Ando
CloudCon2012 Ruo AndoRuo Ando
 

Ähnlich wie Visual Exploration of Large-Scale System Evolution (20)

EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionEvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
 
Project by Koushik
Project by KoushikProject by Koushik
Project by Koushik
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOne
 
SDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's StampedeSDVIs and In-Situ Visualization on TACC's Stampede
SDVIs and In-Situ Visualization on TACC's Stampede
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVA
 
Florian adler minute project
Florian adler   minute projectFlorian adler   minute project
Florian adler minute project
 
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)
DevOps Live Meetup- NetDevOps session with Jay Shah (IEEE Published Paper)
 
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
SeqWare on the Cloud: Porting a Genome Center's Infrastructure to Amazon Web ...
 
Introduction of IPv6NET in Tridentcom 2014
Introduction of IPv6NET in Tridentcom 2014Introduction of IPv6NET in Tridentcom 2014
Introduction of IPv6NET in Tridentcom 2014
 
Viswateja_Nemani
Viswateja_NemaniViswateja_Nemani
Viswateja_Nemani
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
Breaking The Clustering Limits @ AlphaCSP JavaEdge 2007
 
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormServerless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
 
Javaforum 20110915
Javaforum 20110915Javaforum 20110915
Javaforum 20110915
 
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzioneJava 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
Java 8 -12: da Oracle a Eclipse. Due anni e una rivoluzione
 
Cocoa Design Patterns
Cocoa Design PatternsCocoa Design Patterns
Cocoa Design Patterns
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
CloudCon2012 Ruo Ando
CloudCon2012 Ruo AndoCloudCon2012 Ruo Ando
CloudCon2012 Ruo Ando
 
Full Resume
Full ResumeFull Resume
Full Resume
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Visual Exploration of Large-Scale System Evolution

  • 1. Visual Exploration of Large-Scale System Evolution Richard Wettel and Michele Lanza REVEAL group, Faculty of Informatics University of Lugano, Switzerland
  • 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
  • 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
  • 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
  • 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