CADV: A software visualization approach for code annotations distribution

12/21/2021
by   Phyllipe Lima, et al.
0

Code annotations is a widely used feature in Java systems to configure custom metadata on programming elements. Their increasing presence creates the need for approaches to assess and comprehend their usage and distribution. In this context, software visualization has been studied and researched to improve program comprehension in different aspects. This study aimed at designing a software visualization approach that graphically displays how code annotations are distributed and organized in a software system and developing a tool, as a reference implementation of the tool, to generate views and interact with users. We conducted an empirical evaluation through questionnaires and interviews to evaluate our visualization approach considering four aspects: effectiveness for program comprehension, perceived usefulness, perceived ease of use, and suitability for the intended audience. The resulting data was used to perform a qualitative and quantitative analysis. The tool identifies package responsibilities providing visual information about their annotations at different levels. Using the developed tool, the participants achieved a high correctness rate in the program comprehension tasks and performed very well in questions about the overview of the system under analysis. Finally, participants perceived that the tool outperforms existing approaches for code inspection when searching for information related to code annotations. The results show that the visualization approach using the developed tool is effective in program comprehension tasks related to code annotations, which can also be used to identify responsibilities in the application packages. Moreover, it was evaluated as suitable for newcomers to overview the usage of annotations in the system and for architects to perform a deep analysis that can potentially detect misplaced annotations and abnormal growths on their usage.

READ FULL TEXT
research
08/30/2023

Collaborative, Code-Proximal Dynamic Software Visualization within Code Editors

Software visualizations are usually realized as standalone and isolated ...
research
07/26/2018

Trend Analysis on the Metadata of Program Comprehension Papers

As program comprehension is a vast research area, it is necessary to get...
research
05/04/2018

Characterizing the Usage and Impact of Java Annotations Over 1000+ Projects

As a kind of meta-data feature, annotations have been formally introduce...
research
04/11/2019

Empirical Study of Phased Model of Software Change

Software change is the basic task of software evolution and maintenance....
research
08/10/2018

Recording Concerns in Source Code Using Annotations

A concern can be characterized as a developer's intent behind a piece of...
research
08/07/2017

Code Park: A New 3D Code Visualization Tool

We introduce Code Park, a novel tool for visualizing codebases in a 3D g...
research
10/02/2021

Evaluating Code Readability and Legibility: An Examination of Human-centric Studies

Reading code is an essential activity in software maintenance and evolut...

Please sign up or login with your details

Forgot password? Click here to reset