Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visualizing Object Oriented Software execution By: Wim De Pauw, Doug Kimelman and John Vlissides Presented By: Tomer & Mirela Ben-Chen.

Similar presentations


Presentation on theme: "Visualizing Object Oriented Software execution By: Wim De Pauw, Doug Kimelman and John Vlissides Presented By: Tomer & Mirela Ben-Chen."— Presentation transcript:

1 Visualizing Object Oriented Software execution By: Wim De Pauw, Doug Kimelman and John Vlissides Presented By: Tomer & Mirela Ben-Chen

2 2 Motivation Large software systems are difficult to understand, debug and tune Difficult because – Difference between code and execution structures – Functionality is dispersed in many classes – It is BIG

3 3 Motivation (cont.) Static description of code is widely available – UML – Source navigators Dynamic description is not common and not standardized The dynamic aspect is more important to understand the software Best displayed by visual animated tools

4 4 Basic Concepts Classes, objects, methods and messages Levels of detail Different views – Clustering indicates interaction – Histograms show activity – Cross-reference matrices

5 5 Inter-class call cluster Class name Cluster Active class Inactive class Call stack Top of stack

6 6 Inter-class call cluster Purpose: – Dynamic overview of objects’ interaction Elements: – Each class is a floating label – The more the classes communicate, the closer they are – Labels are colored by number of messages (calls) – Indicates calling stack – Indicates currently active class

7 7 Inter-class call cluster Interpretation – Static Clustered classes – tightly coupled Hot-spots – red classes – Dynamic Location of execution path – hot spot Classes changing clusters – new execution phase

8 8 Time bar chart CPU time Classes Hot Spot

9 9 Time bar chart Purpose: – Shows CPU usage per class Elements – Classes appear when instantiated – Length of bar proportional to CPU time Interpretation – Long bars indicate hot-spots

10 10 Inter-class call matrix Called Callers Many callsNot Many calls

11 11 Inter-class call matrix Sub system Called Callers

12 12 Inter-method call matrix Callers Called

13 13 Inter-class call matrix Purpose: – Cumulative overview of communication Elements – Classes appear as instantiated – Square denotes a call from Y to X – Color of square reflects number of calls

14 14 Inter-class call matrix Interpretation – Vertical stripes – heavily used base class – Horizontal stripes – class with many members – Squares on diagonal – calls to self – Clusters near diagonal – tightly coupled classes, part of a sub-system

15 15 Inter-method call matrix Purpose: – Extended view of the call matrix Elements – Square denotes calls from method X to method Y – Color of square indicates number of calls

16 16 Histogram Of Instances All Instances Destroyed Instances in White Color shows message activity Clicking on an instance shows textual message information

17 17 Histogram Of Instances Clicking on instance can show textually: – Received messages information – Sent messages information – Instance creator User can also view graphically, for any instance: – Objects it calls – Objects that call it – Objects it creates – Objects that created it View changes dynamically as instances are created/destroyed

18 18 Histogram Of Instances Created objects

19 19 Identifying Problems Many instances of Term, Factors and BaseNode Instances are active only a short time after creation What can this indicate? A memory leak!

20 20 Finding the Responsible Classes Allocation Matrix: Allocated Classes Allocating Classes

21 21 Looking at Inter-Function Call Matrix Conclusion: Terms::Add may be missing a call to ~Term “Term” methods “Terms” methods

22 22 Instance Histogram – Correct Case

23 23 Conclusions SV is useful in real life applications – Aids debugging – Finds optimization spots – Helps understand the system


Download ppt "Visualizing Object Oriented Software execution By: Wim De Pauw, Doug Kimelman and John Vlissides Presented By: Tomer & Mirela Ben-Chen."

Similar presentations


Ads by Google