Presentation of Visualization of Systems and their Library dependencies presented at IEEE Working Conference on Software Visualization (VISSOFT2014)
1 of 22
Download to read offline
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