Microprints

741 views

Published on

Microprints. A Pixel-Based, Semantically Rich Visualization Of Methods
Romain Robbes, Stéphane Ducasse And Michele Lanza. ESUG 2005, Bruessels

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
741
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Microprints

  1. 1. Microprints A Pixel-Based, Semantically Rich Visualization Of Methods Romain Robbes, Stéphane Ducasse And Michele Lanza
  2. 2. Outline • Visualization techniques • Microprints • Microprints at work • Customizing Microprints • Conclusion
  3. 3. Visualization Techniques And Some (Human) Limitations
  4. 4. Why Visualizing Code? • A way to: • Represent a lot of information in a small space • Choose starting points in an unknown code base • Facilitate code comprehension
  5. 5. Visualisation Techniques • Some examples: • UML • Syntax Highlighting • Polymetric Views
  6. 6. Limitations • Visualizations are interpreted by humans • Unfortunately we are the limiting factor • Limited color choice • Limited information density
  7. 7. Limited Color Choice • We must avoid: • Colors too close to each other • Too many colors (7 max)
  8. 8. Information Density • Too much information renders it useless • Harder to locate a precise information... • Like finding a needle in a haystack
  9. 9. Microprints Assumption, Principle and Advantages
  10. 10. Microprint Assumption • It is easier to merge information than to sort it • It is easier to merge information than to sort it • It is easier to merge information than to sort it • It is easier to merge information than to sort it
  11. 11. • So we reduce and stack each view: It is easier to merge information than to sort it It is easier to merge information than to sort it But We Do Not Have That Much Space! It is easier to merge information than to sort it It is easier to merge information than to sort it
  12. 12. Microprint Principle • Several views of a method via a variant of code highlighting: • Variable access • Control flow • Object interactions • Code and frequency coverage
  13. 13. Advantages of the Approach • Several focused views • Few information in each view • Few colors as well • Colors can be reused in several views
  14. 14. Microprints at Work Sample Patterns, Alternative Uses
  15. 15. Microprints in Pictures
  16. 16. Sample Visual Patterns • Lazy initialisation • Complex/trivial logic • Template/ framework method
  17. 17. • Visualizing: • Method protocols • Classes • Hierarchies • Or more? Alternative Uses of Microprints
  18. 18. Customizing Microprints Roll Your Own Microprints in Two Easy Lessons
  19. 19. First: Some Implementation Details • Microprints use the Refactoring Browser: • RB parser, AST and visitor • Microprint = color to marker mapping • Markers = visitors of RB ASTs • Looking for “interesting” nodes
  20. 20. Compose Your Own Microprint • Use the GUI to: • Add markers • Map them to colors • Set their priorities
  21. 21. Create Your Own Marker • Define a new visitor • When an AST node is interesting: • self mark: aNode (boolean) • self mark: aNode value: v (integer) • If you want to store a metric
  22. 22. Conclusion
  23. 23. Conclusion • Merging information... • Is easier than sorting it • Microprints: • Several semantic views of methods • Integrated in VW and CodeCrawler • Customizable and extensible
  24. 24. Any Questions? • Here’s one: • Which microprints would you need?

×