visualizing the evolution of systems and their library dependencies
DESCRIPTION
Presentation of Visualization of Systems and their Library dependencies presented at IEEE Working Conference on Software Visualization (VISSOFT2014)TRANSCRIPT
![Page 1: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/1.jpg)
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Visualizing the Evolution of Systems and their Library Dependencies
Raula Gaikovina Kula, Coen De Roover, Daniel German, Takashi Ishio and Katsuro Inoue
VISSOFT2014, Victoria, Canada
Osaka University, Osaka, Japan
Vrije Universiteit Brussel, Brussels, Belgium
University of Victoria, Victoria, Canada
![Page 2: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/2.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Building Systems with 3rd Party Software Libraries
MAVEN JVM Repository
04/13/2023
2
![Page 3: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/3.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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
04/13/2023
3
![Page 4: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/4.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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 history2. Library evolution history
04/13/2023
4
![Page 5: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/5.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Systems and Libraries
𝑳𝟏
𝑺𝟏 𝑺𝟐 𝑺𝟑
TIME
𝑳𝟐
System S
Library LD
ep
en
ds(
S,L
)
𝑺𝟒
Adopter
Idler updater(upgrader)
downgrader(upgrader)
System Centric
Library Centric
04/13/2023
5
![Page 6: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/6.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
System-centric Dependency Plot (SDP)
• Layout/Metaphor Design : Tree Rings
• Shape Design: Adopter types• Color/Lines: Version rings
Usage at the current version𝑢𝑠𝑎𝑔𝑒𝑣𝑡
𝑢𝑠𝑎𝑔𝑒𝑐𝑡Library Version Usage=
Usage at that point in time
Usage is a count of
other systems that
have also adopted the same library
version
04/13/2023
6
![Page 7: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/7.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
System-centric Dependency Plot (SDP)
• Layout/Metaphor Design : Tree Rings
• Shape Design: Adopter types• Color/Lines: Version rings
04/13/2023
7
![Page 8: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/8.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Library-centric Dependency Plot (LDP)
• Layout/Metaphor Design: Time-series plot /Growth Curve
• Shape Design: Adopter types• Color/Lines: Library Version
04/13/2023
8
![Page 9: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/9.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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 librarieswithin the Maven Repository (2005-11 to 2013-11)
04/13/2023
9
![Page 10: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/10.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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
04/13/2023
10
![Page 11: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/11.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Scenario 1: Regularity of dependency changes
OpenCMS System Findbugs System
Frequency of release times and risk of updating
04/13/2023
11
![Page 12: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/12.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Scenario 1: Regularity of dependency changes
04/13/2023
12
![Page 13: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/13.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Scenario 2: Structural dependency changes
Based on history consider:what are more risker library types and associated libraries.
04/13/2023
13
![Page 14: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/14.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
Scenario 3 & 4
asm
commons-lang
dom-4j
04/13/2023
14
![Page 15: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/15.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• asm
Scenario 3: Attractiveness of different library versions
04/13/2023
15
![Page 16: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/16.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• commons-lang
Scenario 3: Attractiveness of different library versions
04/13/2023
16
![Page 17: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/17.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• dom4-j
Scenario 3: Attractiveness of different library versions
04/13/2023
17
![Page 18: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/18.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• asm• Candidate versions are 3.3.1 and 4.1
Scenario 4: Opportunities to update
04/13/2023
18
![Page 19: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/19.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• commons-lang• candidate versions are 2.5 and 2.6
Scenario 4: Opportunities to update
04/13/2023
19
![Page 20: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/20.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
• dom4-j• Dominant version is evident
Scenario 4: Opportunities to update
04/13/2023
20
![Page 21: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/21.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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 04/13/2023
21
![Page 22: Visualizing the Evolution of Systems and their Library Dependencies](https://reader035.vdocuments.us/reader035/viewer/2022081512/558b574ed8b42a34698b4751/html5/thumbnails/22.jpg)
Department of Computer Science, Graduate School of Information Science and Technology, Osaka University
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.en04/13/2023
22