Extraction Algorithm, Visualization and Structure Analysis of Python Software Networks.

Ao Shang,Chunfang Li,Hao Zheng,Minyong Shi
DOI: https://doi.org/10.1007/978-3-030-02934-0_33
2018-01-01
Abstract:Software complexity brings software developers and learners a series of challenges to face. Automatically analyzing large-scale software systems with complex network provides a new insight into software analysis, design, evolution, reuse, and iterative developing. Nowadays, extracting network models derived from software systems and making it easily comprehensible remains challengeable for software engineers. This paper focus on Python software. We propose a series of algorithms to extract python software networks, and a concept of visual information entropy to visualize network to an optimal statue by D3.js. Then we analyze python software networks in different perspectives by Pajek. A series experiments illustrate that software network can disclose the internal hidden associations to facilitate programmer and learner to understand the software complex structure and business logic through the simplified complexity. Finally we create a synthetic software tool integrated by above three functions, which can assist programmers to understand software macro structure and the hidden backbone associations.
What problem does this paper attempt to address?