VizAPI: Visualizing Interactions between Java Libraries and Clients

Sruthi Venkatanarayanan,Jens Dietrich,Craig Anslow,Patrick Lam

2022 Working Conference on Software Visualization (VISSOFT)(2022)

引用 0|浏览15
暂无评分
摘要
Software projects make use of libraries extensively. Libraries make available intended API surfaces—sets of exposed library interfaces that library developers expect clients to use. However, in practice, clients only use small fractions of intended API surfaces of libraries. We have implemented the VizAPI tool, which shows a visualization that includes both static and dynamic interactions between clients, the libraries they use, and those libraries’ transitive dependencies (all written in Java). We then present some usage scenarios of VizAPI, targetted at library upgrades. One application, by client developers, is to answer a query about upstream code: will their code be affected by breaking changes in library APIs? Or, library developers can use VizAPI to find out about downstream code: which APIs in their source code are commonly used by clients?
更多
查看译文
关键词
static program analysis,dynamic program analysis,API usage,software evolution,software maintenance
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要