Cividati / avisualizer

Tool to visualize code annotation metrics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AVisualizer Heroku

Annotation Visualizer

A Tool to Visualize Code Annotations Metrics Distribution

Annotation Metrics

The Annotation Visualizer (AVisualizer) is a software visualization tool that aims to aid researches and developers in analyzing and comprehending code annotations distributions. 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

Code Annotation Metrics

  • 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

Collecting the Metrics

The collection of the metrics values is performed by the Annotation Sniffer (ASniffer). The generated JSON report is used as input for the AVisualizer.

Annotations Visualization

We are proposing three different polymetrics views for code annotations. They are all hierarchical view based on circle packs.

  • System View: In this view we are interested in observing how annotation schemas are distributed in the packages. This view has no information of classes.

System View Example Example of the System View for a Java Software

  • Package View: In this view we are interested in observing how annotations are distributed inside a class, based on their schema. In this view we have no information of how the annotations are distributed between the code elements.

Package View Example Example of the Package View for a Java Software

  • Class View: In this view we group the annotation inside a class based on their code elements.

Status

🚧 Work In Progress... 🚧

License

GitHub

About

Tool to visualize code annotation metrics

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 95.0%Language:Java 4.0%Language:HTML 0.8%Language:JavaScript 0.2%