Interactive Diagrams for Software Documentation
Adam \v{S}t\v{e}p\'anek, David Ku\v{t}\'ak, Barbora, Kozl\'ikov\'a, Jan By\v{s}ka

TL;DR
This paper presents Helveg, an interactive, filterable diagram tool for software documentation that uses static analysis to visualize code structure, aiming to improve understanding and maintenance of large codebases.
Contribution
The paper introduces Helveg, a novel interactive diagram system that automates codebase visualization using static analysis, providing an alternative to traditional static documentation.
Findings
Helveg effectively visualizes C# code structures.
Programmers found the tool beneficial for understanding code.
Challenges include usability and scalability issues.
Abstract
Getting acquainted with a large codebase can be a daunting task for software developers, both new and seasoned. The description of a codebase and its development should be the purpose of its documentation. However, software documentation, if it exists at all, is usually textual and accompanied only by simple static diagrams. It is also time-consuming to maintain manually. Even an API reference, which can be generated automatically from the codebase itself, has many drawbacks. It is limited to what it can extract from the codebase, is cumbersome to navigate, and fails to capture the interwoven nature of code. We explore an alternative approach centered around a node-link diagram representing the structure of a codebase. The diagram is interactive and filterable, providing details on demand. It is designed for automation, relying on static analysis of the codebase, and thus produces…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBusiness Process Modeling and Analysis · Model-Driven Software Engineering Techniques · Semantic Web and Ontologies
