Visualizing the Evolution of Systems and their Library Dependencies

22
are 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 ISSOFT2014, ictoria, Canada Osaka University, Osaka, Japan Vrije Universiteit Brussel, Brussels, Belgium University of Victori Victoria, Canada

description

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

Transcript of Visualizing the Evolution of Systems and their Library Dependencies

Page 1: Visualizing the Evolution of Systems and their Library Dependencies

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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