ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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
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
Why understand the evolution of system dependencies? 
? Software Maintenance 
¨C Patched vulnerabilities 
¨C New features 
? Roadblocks: 
¨C Newbie to a project 
¨C API Breakages 
¨C Cannot identify opportunities for upgrade 
¨C Current state of library 
? Documentation, maintenance 
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 
3 
2014/10/9
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
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
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
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
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
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
Scenario Types 
? To explore intuitive insights from these visualizations 
? System Centric (SDP) 
¨C S1. Regularity of updates 
¨C S2. Structural dependency changes 
? Library Centric (LDP) 
¨C S3. Attractiveness of different library versions 
¨C S4. Identify opportunities to updating 
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 
10 
2014/10/9
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
Scenario 1: Regularity of dependency changes 
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 
12 
2014/10/9
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
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
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
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
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
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
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
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
Discussion Points 
? Generality ¨C Granularity of our data, understanding the dataset 
? Visual Scalability ¨C Interactivity and reducing clutter of information 
? Practicality ¨C Incremental size of evolution data 
? Ease of Use - Assessment by practitioners and researchers 
? Additional Scenarios ¨C Peeking on other systems, multiple libraries 
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 
21 
2014/10/9
Summary and Future Work 
? Towards the effective reuse of software libraries. 
? System and Library Centric Views. 
? 4 case scenarios with real world examples. 
¨C Regularity, Structural Dependency changes, 
¨C 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

More Related Content

Visualizing the Evolution of Systems and their Library Dependencies

  • 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. 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. Why understand the evolution of system dependencies? ? Software Maintenance ¨C Patched vulnerabilities ¨C New features ? Roadblocks: ¨C Newbie to a project ¨C API Breakages ¨C Cannot identify opportunities for upgrade ¨C Current state of library ? Documentation, maintenance Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 3 2014/10/9
  • 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. 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. 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. 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. 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. 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. Scenario Types ? To explore intuitive insights from these visualizations ? System Centric (SDP) ¨C S1. Regularity of updates ¨C S2. Structural dependency changes ? Library Centric (LDP) ¨C S3. Attractiveness of different library versions ¨C S4. Identify opportunities to updating Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 10 2014/10/9
  • 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. Scenario 1: Regularity of dependency changes Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 12 2014/10/9
  • 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. 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. 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. 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. 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. 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. 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. 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. Discussion Points ? Generality ¨C Granularity of our data, understanding the dataset ? Visual Scalability ¨C Interactivity and reducing clutter of information ? Practicality ¨C Incremental size of evolution data ? Ease of Use - Assessment by practitioners and researchers ? Additional Scenarios ¨C Peeking on other systems, multiple libraries Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 21 2014/10/9
  • 22. Summary and Future Work ? Towards the effective reuse of software libraries. ? System and Library Centric Views. ? 4 case scenarios with real world examples. ¨C Regularity, Structural Dependency changes, ¨C 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