SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Visual Exploration
of Large-Scale Evolving Software
                       Richard Wettel
                    University of Lugano, Switzerland
                 Supervisor: Michele Lanza
understanding software is




                    expensive
software systems are
software systems are

        large
software systems are

        large
 complex
software systems are

        large
 complex
                ev     l g
                   o vin
“Software is intangible,
having no physical
shape or size”.
      [Ball & Eick, IEEE Computer 1996]
seeing
is understanding
Visualization makes software
more tangible, using metaphors.
Visualization makes software
more tangible, using metaphors.
research hypothesis



   The use of a city
   metaphor helps building a
   consistent mental model
   of software systems.
the city metaphor




                                                 Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities.
    In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
the city metaphor



    class building
 package district



                                                   Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities.
      In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
the city metaphor



    class building
 package district



                                                   Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities.
      In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
the city metaphor
     number of methods (NOM) height

     number of attributes (NOA) base size




    class building
 package district



                                                   Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities.
      In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
the city metaphor
     number of methods (NOM) height

     number of attributes (NOA) base size




    class building
 package district

                              nesting level color


                                                   Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities.
      In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
ArgoUML
~2‘500 classes
~150 packages
Application 1:   program comprehension




                                                                                                                           ArgoUML
                                                                                                                           ~2‘500 classes
                                                                                                                           ~150 packages


                    Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability.
             In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
Application 1:   program comprehension

      massive buildings




                                                                                                                           ArgoUML
                                                                                                                           ~2‘500 classes
                                                                                                                           ~150 packages


                    Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability.
             In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
Application 1:   program comprehension
                                                                                       skyscrapers
      massive buildings




                                                                                                                           ArgoUML
                                                                                                                           ~2‘500 classes
                                                                                                                           ~150 packages


                    Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability.
             In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
Application 1:    program comprehension
                                                                                         skyscrapers
      massive buildings




                                                                                                                             ArgoUML
                                                                                                                             ~2‘500 classes
                                                                                                                             ~150 packages
parking lots
                      Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability.
               In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
Application 1:    program comprehension
                                                                                         skyscrapers
      massive buildings




                                                                                                                             ArgoUML
                                                                                                                             ~2‘500 classes
                                                                                   houses                                    ~150 packages
parking lots
                      Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability.
               In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
case studies
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
case studies
System    Language    NOP NOC kLOC

ArgoUML   Java        141   2‘442   143

Azureus   Java        457   4’734   274

iText     Java        149   1’250    80

Jmol      Java        105   1’032    85

JDK 1.5   Java        137   4’715   160

Moose     Smalltalk   278    994     35

ScumVM    C++          17   1’331    80
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 2:       evolution analysis




 ArgoUML
 8 major releases
 ~5 years


            0.10.1     0.12    0.14            0.16                0.18.1                  0.20          0.22         0.24

     2002            2003                     2004                       2005                        2006                        2007


                            Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution.
                        In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
Application 3:     design assessment




ArgoUML




                 Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps.
                         In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
Application 3:      design assessment




ArgoUML
  Brain classes          8
  God classes           30
  Brain & God classes    6
  Data classes          17

                  Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps.
                          In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
tool support




Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software.
In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008.

Richard Wettel, Michele Lanza. CodeCity.
In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008.
tool support




Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software.
In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008.

Richard Wettel, Michele Lanza. CodeCity.
In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008.

                                                                                 Richard Wettel. Scripting 3D Visualizations with CodeCity
                                                                        In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
tool support
                           http://www.inf.unisi.ch/phd/wettel/                                                 codecity.html




Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software.
In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008.

Richard Wettel, Michele Lanza. CodeCity.
In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008.

                                                                                 Richard Wettel. Scripting 3D Visualizations with CodeCity
                                                                        In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
current status
current status
current status
current status

                 Prof. Michele Lanza
                 advisor


                 Prof. Matthias Hauswirth
                 internal member


                 Prof. Cesare Pautasso
                 internal member


                 Prof. André van der Hoek
                 external member


                 Prof. Rainer Koschke
                 external member
current status

                 Prof. Michele Lanza
                 advisor


                 Prof. Matthias Hauswirth
                 internal member


                 Prof. Cesare Pautasso
                 internal member


                 Prof. André van der Hoek
                 external member


                 Prof. Rainer Koschke
                 external member
current status: 10 months to go

               Prof. Michele Lanza
               advisor


               Prof. Matthias Hauswirth
               internal member


               Prof. Cesare Pautasso
               internal member


               Prof. André van der Hoek
               external member


               Prof. Rainer Koschke
               external member
contributions   remaining work
contributions                      remaining work
    city metaphor
1
                    VISSOFT 2007
contributions                      remaining work
    city metaphor
1
                    VISSOFT 2007




    applications
2
contributions                               remaining work
    city metaphor
1
                             VISSOFT 2007




    applications
2   ‣program comprehension      ICPC 2007
contributions                                remaining work
    city metaphor
1
                             VISSOFT 2007




    applications
2   ‣program comprehension      ICPC 2007


    ‣evolution analysis       SoftVis 2008
contributions                                remaining work
    city metaphor
1
                             VISSOFT 2007




    applications
2   ‣program comprehension      ICPC 2007


    ‣evolution analysis       SoftVis 2008


    ‣design assessment         WCRE 2008
contributions                                 remaining work
    city metaphor
1
                             VISSOFT 2007




    applications
2   ‣program comprehension       ICPC 2007


    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008




    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                    relationships
1                                                1
                             VISSOFT 2007




    applications
2   ‣program comprehension       ICPC 2007


    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008




    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                    relationships
1                                                1
                             VISSOFT 2007




    applications
2   ‣program comprehension       ICPC 2007


    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008




    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                    relationships
1                                                1
                             VISSOFT 2007




    applications
2   ‣program comprehension       ICPC 2007


    ‣evolution analysis
    ‣design assessment
                               SoftVis 2008


                               WCRE 2008
                                                 2   experimental
                                                        validation

    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                   relationships
1                                                1
                             VISSOFT 2007




    applications                                 2 validation
                                                   experimental
2   ‣program comprehension       ICPC 2007


    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008




    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                         relationships
1                                                 1
                             VISSOFT 2007




    applications                                  2 validation
                                                    experimental
2   ‣program comprehension       ICPC 2007     Oct.2009
    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008




    tool
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                         relationships
1                                                 1
                             VISSOFT 2007




    applications                                  2 validation
                                                    experimental
2   ‣program comprehension       ICPC 2007     Oct.2009
    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008                       writing

    tool                                       Mar.2010
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
contributions                                 remaining work
    city metaphor                                          relationships
1                                                  1
                             VISSOFT 2007




    applications                                   2 validation
                                                     experimental
2   ‣program comprehension       ICPC 2007     Oct.2009
    ‣evolution analysis        SoftVis 2008


    ‣design assessment         WCRE 2008                        writing

    tool                                       Mar.2010
3
                          ICSE 2008 (demo)

                           WASDeTT 2008

                             FAMOOSr 2008
                                               Apr. 2010       defense
Richard Wettel
http://www.inf.unisi.ch/phd/wettel




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

Weitere ähnliche Inhalte

Ähnlich wie Visual Exploration of Large-Scale Evolving Software

What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
Stefane Fermigier
 
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
IDES Editor
 
Computational biology
Computational biologyComputational biology
Computational biology
Springer
 

Ähnlich wie Visual Exploration of Large-Scale Evolving Software (20)

A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
 
A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
A Java-Compatible Multi-Thread Middleware for an Experimental Wireless Sensor...
 
Seeing Software
Seeing SoftwareSeeing Software
Seeing Software
 
Nachos
NachosNachos
Nachos
 
Nachos
NachosNachos
Nachos
 
Nachos
NachosNachos
Nachos
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
Duc le CV
Duc le CVDuc le CV
Duc le CV
 
UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)UCD Generator (ICIET 2007)
UCD Generator (ICIET 2007)
 
IRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural NetworkIRJET- Extension to Visual Information Narrator using Neural Network
IRJET- Extension to Visual Information Narrator using Neural Network
 
Architecture: where do you start?
 Architecture: where do you start? Architecture: where do you start?
Architecture: where do you start?
 
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
Interoperability of Reconfiguring System on FPGA Using a Design Entry of Hard...
 
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
Simulations on Computer Network An Improved Study in the Simulator Methodolog...Simulations on Computer Network An Improved Study in the Simulator Methodolog...
Simulations on Computer Network An Improved Study in the Simulator Methodolog...
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
 
Framework Engineering
Framework EngineeringFramework Engineering
Framework Engineering
 
Computational biology
Computational biologyComputational biology
Computational biology
 
Journal Seminar: Is Singularity-based Container Technology Ready for Running ...
Journal Seminar: Is Singularity-based Container Technology Ready for Running ...Journal Seminar: Is Singularity-based Container Technology Ready for Running ...
Journal Seminar: Is Singularity-based Container Technology Ready for Running ...
 
Developing Web-based Interactive Teaching System for Core Network Technology ...
Developing Web-based Interactive Teaching System for Core Network Technology ...Developing Web-based Interactive Teaching System for Core Network Technology ...
Developing Web-based Interactive Teaching System for Core Network Technology ...
 
ThesisProposal
ThesisProposalThesisProposal
ThesisProposal
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

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
 
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...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Visual Exploration of Large-Scale Evolving Software

  • 1. Visual Exploration of Large-Scale Evolving Software Richard Wettel University of Lugano, Switzerland Supervisor: Michele Lanza
  • 5. software systems are large complex
  • 6. software systems are large complex ev l g o vin
  • 7. “Software is intangible, having no physical shape or size”. [Ball & Eick, IEEE Computer 1996]
  • 9. Visualization makes software more tangible, using metaphors.
  • 10. Visualization makes software more tangible, using metaphors.
  • 11. research hypothesis The use of a city metaphor helps building a consistent mental model of software systems.
  • 12. the city metaphor Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  • 13. the city metaphor class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  • 14. the city metaphor class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  • 15. the city metaphor number of methods (NOM) height number of attributes (NOA) base size class building package district Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  • 16. the city metaphor number of methods (NOM) height number of attributes (NOA) base size class building package district nesting level color Richard Wettel, Michele Lanza. Visualizing Software Systems as Cities. In Proc. of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software for Understanding and Analysis), pp. 92 - 99, IEEE CS Press, 2007.
  • 18. Application 1: program comprehension ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  • 19. Application 1: program comprehension massive buildings ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  • 20. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes ~150 packages Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  • 21. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes ~150 packages parking lots Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  • 22. Application 1: program comprehension skyscrapers massive buildings ArgoUML ~2‘500 classes houses ~150 packages parking lots Richard Wettel, Michele Lanza. Program Comprehension through Software Habitability. In Proceedings of ICPC 2007 (15th IEEE International Conference on Program Comprehension), pp. 231 - 240, IEEE Computer Society, 2007.
  • 24. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 25. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 26. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 27. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 28. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 29. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 30. case studies System Language NOP NOC kLOC ArgoUML Java 141 2‘442 143 Azureus Java 457 4’734 274 iText Java 149 1’250 80 Jmol Java 105 1’032 85 JDK 1.5 Java 137 4’715 160 Moose Smalltalk 278 994 35 ScumVM C++ 17 1’331 80
  • 31. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 32. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 33. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 34. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 35. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 36. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 37. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 38. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 39. Application 2: evolution analysis ArgoUML 8 major releases ~5 years 0.10.1 0.12 0.14 0.16 0.18.1 0.20 0.22 0.24 2002 2003 2004 2005 2006 2007 Richard Wettel, Michele Lanza. Visual Exploration of Large-Scale System Evolution. In Proceedings of WCRE 2008 (15th Working Conference on Reverse Engineering), pp. 219 - 228, IEEE Computer Society, 2008.
  • 40. Application 3: design assessment ArgoUML Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps. In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
  • 41. Application 3: design assessment ArgoUML Brain classes 8 God classes 30 Brain & God classes 6 Data classes 17 Richard Wettel, Michele Lanza. Visually Localizing Design Problems with Disharmony Maps. In Proceedings of Softvis 2008 (4th ACM International Symposium on Software Visualization), pp. 155 - 164, ACM Press, 2008.
  • 42. tool support Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008.
  • 43. tool support Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008. Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
  • 44. tool support http://www.inf.unisi.ch/phd/wettel/ codecity.html Richard Wettel, Michele Lanza. CodeCity: 3D Visualization of Large-Scale Software. In companion Proceedings of ICSE 2008 (30th International Conference on Software Engineering), Research Demonstration Track, pp. 921 - 922, ACM Press, 2008. Richard Wettel, Michele Lanza. CodeCity. In Proceedings of WASDeTT 2008 (1st International Workshop on Advanced Software Development Tools and Techniques), 2008. Richard Wettel. Scripting 3D Visualizations with CodeCity In Proceedings of FAMOOSr 2008 (2nd Workshop on FAMIX and Moose in Reengineering), 2008.
  • 48. current status Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  • 49. current status Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  • 50. current status: 10 months to go Prof. Michele Lanza advisor Prof. Matthias Hauswirth internal member Prof. Cesare Pautasso internal member Prof. André van der Hoek external member Prof. Rainer Koschke external member
  • 51. contributions remaining work
  • 52. contributions remaining work city metaphor 1 VISSOFT 2007
  • 53. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2
  • 54. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007
  • 55. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008
  • 56. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008
  • 57. contributions remaining work city metaphor 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 58. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 59. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 60. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 ‣program comprehension ICPC 2007 ‣evolution analysis ‣design assessment SoftVis 2008 WCRE 2008 2 experimental validation tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 61. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 62. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 tool 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 63. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 writing tool Mar.2010 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008
  • 64. contributions remaining work city metaphor relationships 1 1 VISSOFT 2007 applications 2 validation experimental 2 ‣program comprehension ICPC 2007 Oct.2009 ‣evolution analysis SoftVis 2008 ‣design assessment WCRE 2008 writing tool Mar.2010 3 ICSE 2008 (demo) WASDeTT 2008 FAMOOSr 2008 Apr. 2010 defense
  • 65. Richard Wettel http://www.inf.unisi.ch/phd/wettel http://creativecommons.org/licenses/by/3.0/