Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visualizing the Evolution of Systems and their Library Dependencies

1,537 views

Published on

Presentation of Visualization of Systems and their Library dependencies presented at IEEE Working Conference on Software Visualization (VISSOFT2014)

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Visualizing the Evolution of Systems and their Library Dependencies

  1. 1. VISSOFT2014, Victoria, Canada Visualizing the Evolution of Systems and their Library Dependencies Raula Gaikovina Kula, Coen De Roover, Daniel German, Takashi Ishio and Katsuro Inoue Osaka University, Osaka, Japan Vrije Universiteit Brussel, Brussels, Belgium Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University University of Victoria, Victoria, Canada
  2. 2. Building Systems with 3rd Party Software Libraries MAVEN JVM Repository Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 2 2014/10/9
  3. 3. Why understand the evolution of system dependencies? • Software Maintenance – Patched vulnerabilities – New features • Roadblocks: – Newbie to a project – API Breakages – Cannot identify opportunities for upgrade – Current state of library • Documentation, maintenance Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 3 2014/10/9
  4. 4. Motivation of the work • Lessons from history • Informed decision • Adoption, Diffusion of Innovation, Popularity: ‘Wisdom of the crowd’ • We started with statistical plots, later then realized specialized plots are needed • Journey in Visualization 1. System evolution history 2. Library evolution history Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 4 2014/10/9
  5. 5. Systems and Libraries 푳ퟏ 푳ퟐ 푺ퟏ 푺ퟐ 푺ퟑ TIME Library L System S Depends(S,L) Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Library Centric System Centric 푺ퟒ Adopter Idler updater (upgrader) downgrader (upgrader) 5 2014/10/9
  6. 6. System-centric Dependency Plot (SDP) • Layout/Metaphor Design : Tree Rings • Shape Design: Adopter types • Color/Lines: Version rings Department of Computer Science, Graduate School of Information Science and Technology, Osaka University Usage at the current version Usage at that point in time 푢푠푎푔푒푣푡 Library Version Usage= 푢푠푎푔푒푐푡 Usage is a count of other systems that have also adopted the same library version 6 2014/10/9
  7. 7. System-centric Dependency Plot (SDP) • Layout/Metaphor Design : Tree Rings • Shape Design: Adopter types • Color/Lines: Version rings Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 7 2014/10/9
  8. 8. Library-centric Dependency Plot (LDP) • Layout/Metaphor Design: Time-series plot /Growth Curve • Shape Design: Adopter types • Color/Lines: Library Version Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 8 2014/10/9
  9. 9. Cognitive Walkthrough • Rusty the new systems maintainer • Through real-world examples • Four scenarios Rusty is a new maintainer to a software project. Rusty notices that some of the system's library dependencies are outdated. Simply upgrading to the latest versions of all dependencies seems natural, however, Rusty does not know where to start. How to help Rusty? We extracted dependency information of systems and libraries within the Maven Repository (2005-11 to 2013-11) Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 9 2014/10/9
  10. 10. Scenario Types • To explore intuitive insights from these visualizations • System Centric (SDP) – S1. Regularity of updates – S2. Structural dependency changes • Library Centric (LDP) – S3. Attractiveness of different library versions – S4. Identify opportunities to updating Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 10 2014/10/9
  11. 11. Scenario 1: Regularity of dependency changes OpenCMS System Findbugs System Frequency of release times and risk of updating Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 11 2014/10/9
  12. 12. Scenario 1: Regularity of dependency changes Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 12 2014/10/9
  13. 13. Scenario 2: Structural dependency changes Based on history consider: what are more risker library types and associated libraries. Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 13 2014/10/9
  14. 14. Scenario 3 & 4 asm Department of Computer Science, Graduate School of Information Science and Technology, Osaka University dom-4j commons-lang 14 2014/10/9
  15. 15. Scenario 3: Attractiveness of different library versions • asm Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 15 2014/10/9
  16. 16. Scenario 3: Attractiveness of different library versions • commons-lang Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 16 2014/10/9
  17. 17. Scenario 3: Attractiveness of different library versions • dom4-j Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 17 2014/10/9
  18. 18. Scenario 4: Opportunities to update • asm • Candidate versions are 3.3.1 and 4.1 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 18 2014/10/9
  19. 19. Scenario 4: Opportunities to update • commons-lang • candidate versions are 2.5 and 2.6 Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 19 2014/10/9
  20. 20. Scenario 4: Opportunities to update • dom4-j • Dominant version is evident Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 20 2014/10/9
  21. 21. Discussion Points • Generality – Granularity of our data, understanding the dataset • Visual Scalability – Interactivity and reducing clutter of information • Practicality – Incremental size of evolution data • Ease of Use - Assessment by practitioners and researchers • Additional Scenarios – Peeking on other systems, multiple libraries Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 21 2014/10/9
  22. 22. Summary and Future Work • Towards the effective reuse of software libraries. • System and Library Centric Views. • 4 case scenarios with real world examples. – Regularity, Structural Dependency changes, – Attractive and Update Opportunities based on Usage. • Current State: Feedback and Implementation • Investigating co-existing matrix libraries • Any questions/comments and feedback …… http://sel.ist.osaka-u.ac.jp/SARF/index.html.en Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 22 2014/10/9

×