(Working Conference on Software Visualization)
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).
Here are other samples of DDP's build for other projects.
ASM DDP
Scala DDP
JavaScript DDP
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)