Saved in:
Bibliographic Details
Main Authors: Štěpánek, Adam, Kuťák, David, Kozlíková, Barbora, Byška, Jan
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2407.21621
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929732589715456
author Štěpánek, Adam
Kuťák, David
Kozlíková, Barbora
Byška, Jan
author_facet Štěpánek, Adam
Kuťák, David
Kozlíková, Barbora
Byška, Jan
contents 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 results quickly and offers a viable alternative to missing or outdated documentation. To evaluate this approach, we implemented a prototype named Helveg that is able to analyze and visualize C# code. Testing with five professional programmers provided feedback on the approach's benefits and challenges, which we discuss in detail.
format Preprint
id arxiv_https___arxiv_org_abs_2407_21621
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Interactive Diagrams for Software Documentation
Štěpánek, Adam
Kuťák, David
Kozlíková, Barbora
Byška, Jan
Software Engineering
D.2.11
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 results quickly and offers a viable alternative to missing or outdated documentation. To evaluate this approach, we implemented a prototype named Helveg that is able to analyze and visualize C# code. Testing with five professional programmers provided feedback on the approach's benefits and challenges, which we discuss in detail.
title Interactive Diagrams for Software Documentation
topic Software Engineering
D.2.11
url https://arxiv.org/abs/2407.21621