The Annotation Visualizer (AVisualizer) is a software visualization tool that aims to aid researches and developers in analyzing and comprehending code annotations distributions. This tool was used to support our research paper CADV - Code Annotations Distribution Visualization.
The visualization is generated based on a suite software metrics dedicated to code annotations.
The suite is composed of 9 metrics proposed and defined in the the paper A Metrics Suite for Code Annoation Assessment
- AC: Annotations in Class
- UAC: Unique Annotations in Class
- ASC: Annotation Schema in Class
- AED: Annotation in Element Declaration
- AA: Attributes in Annotation
- ANL: Annotation Nesting Level
- LOCAD: LOC in Annotation Declaration
- NEC: Number of Elements in Class
- NAEC: Number of Annotated Elements in Class
Basic Building Blocks of AVisualizer
The backend of AVisualizer is mostly concernd with extracting the metrics values and serving the frontend. The extraction of the metrics values is performed by the Annotation Sniffer (ASniffer). The generated JSON report is used as input for the AVisualizer frontend. The backend is wrapped as a Spring Boot App
The frontend of AVisualizer is build using the React library React Library and D3.js.
The CADV is a software visualization approach based on circle packing. It is composed of three different views for code annotations. The System View, Package View and, Class View.
- System View: In this view we observe how annotation schemas are distributed in the packages. This view has no information of classes.
Example of the System View for project GeoStore
- Package View: In this view we observe how annotations are distributed inside classes of a package. In this view we have no information of how the annotations are distributed between the code elements of a class.
- Class View: In this view we observe how annotations are distributed by code elements declared in the observed class. The annotations are grouped by code elements.
The first step is to build the application using Maven
mvn clean package
The executable jar file will be located in the folder avisualizer-back/target
.
Run it with the command
java -jar avisualizer-back/target/avisualizer-back.jar
The application will available on http://localhost:8080