Abstract | ||
---|---|---|
A large software system contains millions of lines of source code, and the development often involves many developers over a long period. How to understand and analyze its complex code dependencies is challenging but meaningful to developers for program comprehension. In this paper, we propose a novel visual analytics system to explore code dependencies between files for visually understanding software architecture and interactively analyzing bad dependencies. The dependencies between files are abstracted as a directed graph (i.e., the dependency graph) at different levels via the file hierarchy to show the modularization design of source code. Node embeddings of the dependency graph are learned to identify the files with specific dependencies and analyze the similarity between bad dependencies. Finally, we evaluate the usability of our system by two case studies in different JavaScript libraries as well as a user study on software architecture understanding and bad dependency analysis. Graphic abstract |
Year | DOI | Venue |
---|---|---|
2021 | 10.1007/s12650-020-00727-x | JOURNAL OF VISUALIZATION |
Keywords | DocType | Volume |
Code dependencies, Dependency graph, Software visualization | Journal | 24 |
Issue | ISSN | Citations |
3 | 1343-8875 | 0 |
PageRank | References | Authors |
0.34 | 0 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Huan Liu | 1 | 0 | 0.68 |
Yubo Tao | 2 | 109 | 22.51 |
Wenda Huang | 3 | 0 | 0.68 |
Hai Lin | 4 | 142 | 29.61 |