Software Visualization (EVO 2008)

788
-1

Published on

I used this set of slides as support for the Software Visualization lecture I gave at the University of Berne on 23 Oct 2008.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
788
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
62
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Software Visualization (EVO 2008)

  1. 1. Software visualization Tudor Gîrba www.tudorgirba.com
  2. 2. Software Visualization is the use of typography, graphic design, animation, and cinematography with human-computer interaction and computer graphics to facilitate both the human understanding and effective use of software. 3 Price etal. 199
  3. 3. Why visualization?
  4. 4. A picture is worth a thousand words. Ano nymous
  5. 5. 1854, London, cholera epidemic
  6. 6. 1854, London, cholera epidemic
  7. 7. 1946
  8. 8. A picture is worth a thousand words. Ano nymous
  9. 9. We are vis ual beings
  10. 10. How many groups do you see?
  11. 11. How many groups do you see?
  12. 12. How many groups do you see?
  13. 13. How many groups do you see?
  14. 14. lt prin ciples Gesta proximity similarity enclosure connectivity
  15. 15. lt principles More Gesta closure continuity
  16. 16. Iconic memory < 1 second very fast automatic subconscious preattentive
  17. 17. Iconic Short-term memory memory < 1 second couple of seconds very fast 3-9 chunks automatic subconscious preattentive
  18. 18. Orientation Line Length Line Width Size Shape Curvature Added Marks Enclosure
  19. 19. Line Length Line Width Size Shape Curvature Added Marks Enclosure
  20. 20. Line Width Size Shape Curvature Added Marks Enclosure
  21. 21. Size Shape Curvature Added Marks Enclosure
  22. 22. Shape Curvature Added Marks Enclosure
  23. 23. Curvature Added Marks Enclosure
  24. 24. Added Marks Enclosure
  25. 25. Enclosure
  26. 26. How many times does 5 appear? 8789364082376403128764532984732984732094873290845 389274-0329874-32874-23198475098340983409832409832 049823-0984903281453209481-0839393947896587436598
  27. 27. How many times does 5 appear? 8789364082376403128764532984732984732094873290845 389274-0329874-32874-23198475098340983409832409832 049823-0984903281453209481-0839393947896587436598
  28. 28. ternal input 7 0% o f all ex ough t he eye com es thr
  29. 29. A picture is worth a thousand words. Ano nymous
  30. 30. it lite rally :) UM L took
  31. 31. Example: what is ?
  32. 32. What to visualize? How to visualize?
  33. 33. What to visualize?
  34. 34. What to visualize? Software structure
  35. 35. System Complexity shows class hierarchies Ducas se 2003 Lanza,
  36. 36. Polymetric views show up to 5 metrics Width metric Height metric Position metrics Color metric Lan za 2003
  37. 37. 003 , Du casse 2 Lanza
  38. 38. Distribution Map shows properties over structure 6 casse etal 200 Du
  39. 39. Package Map shows who owns what classes 7 Gre evy 200
  40. 40. 992 Shneid erman 1
  41. 41. What to visualize? Software structure Software relationships
  42. 42. Class Blueprint shows class internals Initialize Interface Internal Accessor Attribute invocation and access direction se, Lan za 2005 Ducas
  43. 43. Class Blueprint has a rich vocabulary internal access Access external Attribute access Invocation Regular Constant invocations Overriding Delegating lines Method Extending Setter Abstract Getter se, Lan za 2005 Ducas
  44. 44. se, Lan za 2005 Ducas
  45. 45. 06 Holten 20
  46. 46. Hierarchical edge bundles clarify dependencies 6 Hol ten 200
  47. 47. 08 Holten 20
  48. 48. Correlation Matrix reveals correlations user, run, load, message, file, buffer, util property, AWT, edit, show, update, sp, set start, buffer, end, text, length, line, count action, box, component, event, button, layout, GUI start, length, integer, end, number, pre, count XML, dispatch, microstar, reader, XE, register, receive current, buffer, idx, review, archive, endr, TAR BSH, simple, invocation, assign, untype, general, arbitrary maximum, label, link, item, code, put, vector Kuhn e tal 2006
  49. 49. Arc diagrams show duplications 00 2 Watte nberg 2
  50. 50. What to visualize? Software structure Software relationships Metaphors
  51. 51. Software Map reveals software geography 8 Kuhn etal 200
  52. 52. CodeCity reveals where software lives 7 We ttel 200
  53. 53. 0 8 Wettel 20
  54. 54. What to visualize? Software structure Software relationships Metaphors Interaction
  55. 55. Softwarenaut discovers architecture tal 2006 Lungu e
  56. 56. What to visualize? How to visualize?
  57. 57. nderst anding t guara ntee u ation does no V isualiz
  58. 58. Minimize non-data ink Tuf te, 1990
  59. 59. Excel 2004 default
  60. 60. Excel 2004 default Excel 2004 default + 6 actions
  61. 61. 6 casse etal 200 Du
  62. 62. Maximize data ink Tuf te, 1990
  63. 63. InfoBug is cute and condensed 00 6 Chuah , Eick, 2
  64. 64. s a la ngu age provide visual ization Each learnt s to be th at need
  65. 65. System Complexity 1 node type 1 edge type 3 metrics Class Blueprint 3 node types 2 edge types 3 metrics 8 properties
  66. 66. A small experiment
  67. 67. 1, 13, 27, 4, 96
  68. 68. What were the numbers?
  69. 69. Easy!
  70. 70. What’s the last advertisement you saw?
  71. 71. Not so easy!
  72. 72. s a la ngu age provide visual ization Each learnt s to be th at need
  73. 73. tion is a rt, too V isualiza
  74. 74. Tudor Gîrba www.tudorgirba.com creativecommons.org/licenses/by/3.0/

×