Skip to content

Latest commit

 

History

History
66 lines (43 loc) · 3.65 KB

File metadata and controls

66 lines (43 loc) · 3.65 KB

Visualizing the Evolution of Systems and their Library Dependencies

(Working Conference on Software Visualization)

Link to Publication

Slides

Abstract

System maintainers face several challenges stemming from a system and its library dependencies evolving separately. Novice maintainers may lack the historical knowledge required to efficiently manage an inherited system. While some libraries are regularly updated, some systems keep a dependency on older versions. On the other hand, maintainers may be unaware that other systems have settled on a different version of a library. In this paper, we visualize how the dependency relation between a system and its dependencies evolves from two perspectives. Our system-centric dependency plots (SDP) visualize the successive library versions a system depends on over time. The radial layout and heat-map metaphor provide visual clues about the change in dependencies along the system’s release history. From this perspective, maintainers can navigate to a library-centric dependants diffusion plot (LDP). The LDP is a time-series visualization that shows the diffusion of users across the different versions of a library. We demonstrate on real-world systems how maintainers can benefit from our visualizations through four case scenarios.

Mining Tools and Libraries:

Our Dependency Extraction Tool for Maven Libraries: PomWalker

R statistics Tool (For Visualization) R

Notable R Packages used ggplot2, plyr, sqldf, gridExtra

Refer to Link for our EMSE 2017 version of the DDP (LDP).

Samples Studied

Here are other samples of DDP's build for other projects.

ASM DDP

Scala DDP

JavaScript DDP

Others

TestNg DDP

H2 DDP

Guava DDP

Derby DDP

Commons DDP

Cglib DDP

BCel DDP

Junit DDP Cglib (DDP) Spring-core (DDP) Testng (DDP) Derby (DDP) Guava (DDP) h2 (DDP)