Your SlideShare is downloading. ×
Software Evolution Visualization
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Software Evolution Visualization

974

Published on

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

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software Evolution Visualization Status, Challenges, and Possible Research Directions Prof. Manoel Mendonçahttp://fpc.dcc.ufba.br http://les.dcc.ufba.br+55 (71) 3283-6311 manoel.mendonca@ufba.br
  • 2. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion2
  • 3. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion3
  • 4. Software Visualization (SoftVis) It is the use of visual paradigms (visual resources – animation and graphical design) to facilitate the comprehension and effective use of software.  Price, Baecker and Small, “An Introduction to Software Visualization”4
  • 5. Software is Abstract Software is inherently:  “invisible”  intangible  has no physical format 5
  • 6. Representing Software Software can be represented in many ways  The most common way is the textual format, especially its source code 6
  • 7. Source Code at a Low Level of Abstraction Address Label Source Code Object Code .begin .org 2048 a_start .equ 3000 2048 ld length,% 2064 be done 00000010 10000000 00000000 00000110 2068 addcc %r1,-4,%r1 10000010 10000000 01111111 11111100 2072 addcc %r1,%r2,%r4 10001000 10000000 01000000 00000010 2076 ld %r4,%r5 11001010 00000001 00000000 00000000 2080 ba loop 00010000 10111111 11111111 11111011 2084 addcc %r3,%r5,%r3 10000110 10000000 11000000 00000101 2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100 2092 length: 20 00000000 00000000 00000000 00010100 2096 address: a_start 00000000 00000000 00001011 10111000 .org a_start 3000 a: Murdocca, Miles J.; Vincent P. Heuring (2000). Principles of Computer Architecture. Prentice-Hall. ISBN 0-201-43664-7.7
  • 8. Representing Software Can visualization techniques be used to represent software? Yes! It is already being used in some way or another since the 70’s 8
  • 9. Visualization in a Modern IDEs pretty printing hierarchical structure iconographic representation syntax based coloring9
  • 10. Is this Enough? Not Quite  Size and Complexity have sky rocked  We lack mechanisms to visualize and explore software in the large Information Visualization techniques and paradigms can be used to deal with this issue 10
  • 11. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion14
  • 12. SoftVis is InfoVis15
  • 13. Information Visualization (InfoVis) “InfoVis is the study of (interactive) visual representations of abstract data to reinforce human cognition.” .16
  • 14. Visualization is about Perception  Taking the input from our senses (in this case Vision) and turning it into something that has meaning for us  We “see” (perceive) with our brains!19
  • 15. A Data Pattern in Tabular FormatY 0 0.259 0.5 0.707 0.866 0.966 1 0.966 0.866 0.707X 12 13 14 15 16 17 18 19 20 21Y 0.5 0.259 0 -0.259 -0.5 -0.707 -0.866 -0.966 -1 -0.966X 22 23 24 25 26 27 28 29 30 31Y -0.866 -0.707 -0.5 -0.259 0 .0259 0.5 0.707 0.866 0.966X 32 33 34 35 36 37 38 39 40 41 Requires Perception and Reasoning20
  • 16. Same Pattern in Visual Format 1 0,5 0 -0,5 -1 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 Requires only Perception21
  • 17. InfoVis requires Interaction  Computer-based InfoVis requires human computer interaction.  There is no InfoVis without good interaction mechanisms.26
  • 18. InfoVis Interaction Mantra Gain a global view, zoom and filter, and then detail on demand SHNEIDERMAN, B. The eyes have it: A task by data type taxonomy for information visualization. In VL’96: Proceedings of the 1996 IEEE Symposium on Visual Languages (1996), IEEE CS Press, pp. 336–343.27
  • 19. Revisiting our SoftVis Definition SoftVis is the effective mapping of software entities and its attributes into graphical structures that are easy explore and understand by software engineers … to facilitate the comprehension and effective use of software.28
  • 20. Effective Mapping (1) Good visual metaphors  graphical structure matches the nature of the information  use perception efficient representations and visual attributes Good views (instantiations of metaphors)  intuitive mapping of real attributes into visual attributes29
  • 21. Effective Mapping (2) Due to its complexity software cannot be described byjust one viewMultiple views are need to assemble an analysisperspective  These views must be consistent and integrated among themselves and with the rest of the IDE30
  • 22. Effective Mapping in Modern IDEs Multiple views assemble an analysis perspective Multiple visual Metaphors Syntax-based coloring Visual attribute => Real attribute All is integrated !31
  • 23. Easy to Explore and Undertsnad The goal is to facilitate the comprehension of the software(the graphics is a means to an end). We need good interaction mechanisms  Easy to use widgets and interaction controls We need a comprehensive data exploration functionalityto support Shneiderman’s mantra32
  • 24. There is a lot to be done here33
  • 25. Easy to Explore and Undertsnad Good interaction mechanisms  Easy to use widgets and interaction controlsComprehensive data exploration functionality to supportShneiderman’s mantra  Global views, conceptual zoom, attribute based brushing and filtering, dynamic mapping between real and visual attributes, navigation and consistent marking, and details on demand. Integration of the views with these functionalities.34
  • 26. SourceMiner (www.sourceminer.org)35
  • 27. (A) (E) (C) (D) (B)36
  • 28. There is much still to be visualized in the large37
  • 29. SoftVis Areas Static Software Visualization (no need to run the code)  Static representations of control and data flows  Visualization of modules (structures and dependencies)  Static aspects of architectures Dynamic Software Visualization (running the code)  Animated Algorithms  Test coverage and debugging  Memory usage and code traces  Dynamic aspects of software architectures38
  • 30. SoftVis Areas Visualizing data about the software  Contributions, authorship and usage of modules and components  Bug and issues information  Discussions, opinions, and people roles Software Evolution Visualization  Changes in structure  Dependency evolution  Change in metrics  Evolution of data about the software (all of the above)39
  • 31. SoftVis Areas Visualizing data about the software  Contributions, authorship and usage of modules and components  Bug and issues information  Discussions, opinions, and people roles Software Evolution Visualization  Changes in structure  Dependency evolution  Change in metrics  Evolution of data about the software (all of the above)40
  • 32. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion41
  • 33. Software systems must be continually adapted or they becomeprogressively less satisfactory (LEHMAN, 1978)(LEHMAN, 1980) 42
  • 34. Evolution (Lehman, 78)Complexity Comprehension (Jay et al., 2009) Costs (Erlikh, 2000) 43
  • 35. For some systems, the cost devoted to evolution andmaintenance now accounts for more than 90% of totalsoftware costs (ERLIKH, 2000) Software maintainers spend approximately 50% of their time in the process of understanding the code (FJELDSTA e HAMLEN, 1983) 44
  • 36. So, what can we do to facilitate softwarecomprehension “in the large”?45
  • 37. Software evolution visualizationSoftware evolution analysis Software visualization requires can summarize the data lots of data in meaningful contexts 46
  • 38. Software evolution visualization SEV is around since the 90’s There is a sizeable body of work in the literature 47
  • 39. SEV of What?  Behavior  Mail List  Code Clones  Metrics  Data structures  Requirements  Defects  Software Architecture  Developer Activities  Source code changes  Developer Dependency  Comment changes  Exception handling  Source code dependency  Ecosystem change  System dependency  Features  Topics48
  • 40. SEV for What?  Change Comprehension  Quality improvement  Change Control Enhancement  Process Improvement  Change Prediction  Powerful and scalable  Contribution Analysis visualization  Defect Classification and  Re-documentation Analysis  Reverse engineering  Development communication  Software reuse  Identification of anomalies  Dependency among projects49
  • 41. Strategies of Analysis Defines the strategy for the visual presentation of software artifacts.  Temporal Overview  Temporal Snapshot  Temporal Cumulative  Differential Relative  Differential Absolute50
  • 42. A visualization for software projectExample 1 awareness and evolution, VISSOFT 2007 RM Ripley, A Sarma, A van der Hoekof What: Developer activity over the codefor What: contribution analysis and change comprehension51
  • 43. Example 2 of What: logical coupling between modules Animated visualization of software history using evolution storyboards, WCRE 2006 D Beyer, AE Hassanfor What: change prediction, reverse engineering, identification ofanomalies52
  • 44. Example 3 Exploring software evolution using spectrographs, WCRE 2004of What: files by version J Wu, RC Holt, AE Hassanby recent changesfor What: change prediction (and contribution analysis)53
  • 45. Temporal Strategies Temporal Overview Temporal Snapshot Temporal Cumulative54
  • 46. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion55
  • 47. Mapping Study Search String ("software" OR "system") AND ("visualization" OR "visual" OR "Visualisation") AND ("evolution" OR "evolving")56
  • 48. SEV Data Sources Type Data sourcesSource Code CVS SubVersion GITManagementBug Tracking Mantis BugZilla Trac System Models Requirements FeaturesOther Types mapping Trace Forums mapping57
  • 49. Most used data sources 60 49 50 41.78% use more than one data 40 34 source 29 30 20 10 10 5 3 2 2 2 1 1 1 1 1 1 1 1 1 1 058
  • 50. Most used metrics 78.08% of the authors use more 60 56 than one metric 50 40 36 30 28 22 20 20 15 10 5 0 Coupling (any) # commit # authors Complexity Logical LOC Cohesion Coupling59
  • 51. Most used perspectives 54,79% of the studies use more than one perspective60
  • 52. Most used strategies Only 23.97% use combination of strategies61
  • 53. Goals62
  • 54. Papers per type of validation 50 19.18% 72.60% 0.68% 7.53% 45 44 Feasibility study 40 36 35 30 28 25 20 15 12 10 10 4 4 4 5 2 1 1 063
  • 55. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion64
  • 56. Goals of our SoftVis Group To help developers to build successful InfoVis tools To help system analysts to use InfoVis tools to achieve their maintenance goals To help researchers to evaluate InfoVis tools from a software engineering point of view65
  • 57. Our Approach66
  • 58. 67
  • 59. EXAMPLE 1 Differential Strategies with SourceMiner Evolution68
  • 60. Differential Strategies  Differencial Absolute  Differencial Relative69
  • 61. Using Colors to Represent Evolution Attributes From one version to the other, elements that  Appeared are painted in blue  Disappeared are painted in gray  No change are painted in white Elements that decreased or increase are painted in acolour scale that ranges from bright green (decreased a lot)to bright red (increased a lot) 70
  • 62. Adapting SourceMiner’s Views and Perspectivas71
  • 63. Differential Strategies  Differencial Absolute  Differencial Relative72
  • 64. Implementing and evaluating the RelativeDifferential Analysis Goal: Identify software erosion Tasks (questions):  What are the hot spots of the source code?  What are the God Classes, long methods? Etc. Experimental object:  8 versions of MobileMedia (open source) Subjects: 14 Grad Students NOVAIS, R. L., CARNEIRO, G. F., SIMOES JUNIOR, P. R. M., MENDONÇA NETO, M. G. On the Use of Software Visualization to Analyze Software Evolution - An Interactive Differential Approach. In ICEIS 2011.73
  • 65. 74
  • 66. Demo SourceMiner Evolution75
  • 67. Differential Strategies  Differencial Absolute  Differencial Relative76
  • 68. Implementing and evaluating the Absolute Differential Analysis Goal: Understand how features are evolving Tasks (questions):  Tasks related to feature evolution, feature tangling, and feature dependency analysis. Etc. Experimental object:  5 versions of an oil company software in Brazil Subjects: 20 analysts from two cities NOVAIS, R., NUNES, C., LIMA, C., CIRILO, E., DANTAS, F., GARCIA, A., MENDONÇA, M. On the Proactive and Interactive Visualization for Feature Evolution Comprehension: An Industrial Investigation. In ICSE’12. 79
  • 69. Colour Represent Concerns80
  • 70. Colour Represent the Evolution of Concerns81
  • 71. EXAMPLE 2 Cumulative Temporal Evolution & Augmented Reality with SkyscrapAR84
  • 72. 3D Software Visualization 3D representations for software visualization, SoftVis’03 A Marcus, L Feng, JI Maletic“The inclusion of aesthetically appealing elements such as 3D graphics and animation not only increases the design’s appeal, intuitiveness, and memorability of a visualization but also eases perception of the human visual system” (Teyseyre, 2009)85
  • 73. SEV in 3D – CodeCity’s Example Building height: number of methods Building base (width and length): number of attributes Program comprehension through software habitability R Wettel, M Lanza86
  • 74. Problems with 3D Visualization  Oclusion X Interaction  Navigation in a 3D world with a 2D mouse87
  • 75. Augmented Reality: A Cheap Solution88
  • 76. How it Works89
  • 77. SkyscrapAR Code-city metaphor Using a temporal cumulative strategy to analyze code evolution In augmented reality90
  • 78. SkyscrapAR Building Metaphor (2) (3) (1) (1) Green area – class max LOC in history (2) Building base – class LOC at current version (3) Building height – class code churn in history91
  • 79. SkyscrapAR Code-city Metaphor92
  • 80. 93 93
  • 81. 94 94
  • 82. 95 95
  • 83. 96 96
  • 84. 97 97
  • 85. SkyscrapAR - Other info98
  • 86. SkyscrapAR - Cumulative Temporal Snapshot Accumulated Code Churn Animated transitions ΔLOC Vn Vn-199
  • 87. SkyscrapAR - Augmented Reality (a) (b) (c) (a) the camera captures a scene containing a marker; (b) the image is transformed to black and white, the marker is detected and its local coordinate system is computed; (c) the 3D model is aligned with the coordinate axes.100 100
  • 88. Demo SkyscrapAR101
  • 89. Outline Introduction Information and Software Visualization Software Evolution Visualization (SEV) A Critical View of the Area SEV@UFBA Conclusion102
  • 90. Summing up As software evolution comprehension is complex, there is a need for multi-metrics, multi-perspectives, multi-data SEV environments to address the many existing engineering needs associated with software evolution.103
  • 91. Summarizing the mapping results The actual adoption of SEV in industrial environmentsis very low There is very little evaluation of the proposed approaches Very few with multi-strategies104
  • 92. Looking ahead We need to build good SEV Models to  guide researchers in proposing new SEV approaches  both from the SE and the InfoVis perspectives  guide developers in building SEV tools  guide system analysts in using such tools  guide experimentalists in evaluating such tools105
  • 93. SoftVis group – http://softvis.dcc.ufba.br106
  • 94. Software Design and Evolution Grouphttp://aside.dcc.ufba.br107
  • 95. Software Evolution Visualization Status, Challenges, and Possible Research Directions Prof. Manoel Mendonça http://fpc.dcc.ufba.br http://les.dcc.ufba.br108 +55 (71) 3283-6311 manoel.mendonca@ufba.br

×