SoftwareX (May 2024)

PyVisVue3D3: Python visualization from hierarchy tree to call graph

  • Chunfang Li,
  • Yuchen Pei,
  • Yushi Shen,
  • Junli Lu,
  • Yalv Fan,
  • Xiaoyu Linghu,
  • Yuanzhi Tian,
  • Kun Wang

Journal volume & issue
Vol. 26
p. 101689

Abstract

Read online

Visualization provides an important means for understanding software. Many studies focus on software call graphs or software visualization, but there is insufficient attention given to studying them as a whole. This paper presents the extracted call graphs between software packages in Python and within individual packages (modules, file directory, and classes). To avoid potential errors that may arise from directly scanning the source code, we extracts the structure data based on pip and inspect. To facilitate interactive exploration of the data extracted, we provide eight visual layouts based on D3.js and Vue3.js. Additionally, the tool allows for querying module (.py) and class source code and docs. PyVisVue3D3 essentially provides a visual PyDocs that integrates multi-granularity call graphs, aiding developers in quickly extracting knowledge from codebase and improving software comprehension efficiency (https://pyvisvue3d3.yingshinet.com).

Keywords