CADV: A software visualization approach for code annotations distribution

被引:6
作者
Lima, Phyllipe [1 ,2 ]
Melegati, Jorge [4 ]
Gomes, Everaldo [5 ]
Pereira, Nathalya Stefhany [3 ]
Guerra, Eduardo [4 ]
Meirelles, Paulo [5 ]
机构
[1] Univ Fed Itajuba, IMC, UNIFEI, Itajuba, Brazil
[2] Natl Inst Space Res INPE, Sao Jose Dos Campos, Brazil
[3] Natl Inst Telecommun Inatel, Santa Rita Do Sapucai, Brazil
[4] Free Univ Bolzano Bolzen, UniBZ, Bolzano, Italy
[5] Fed Univ ABC, CMCC, UFABC, Santo Andre, Brazil
基金
巴西圣保罗研究基金会;
关键词
Code annotations; Circle packing; Empirical evaluation; Software visualization;
D O I
10.1016/j.infsof.2022.107089
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: 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.Objectives: 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 approach, to generate views and interact with users.Methods: We conducted an empirical evaluation through questionnaires and interviews to evaluate our visualization approach considering four aspects: (i) effectiveness for program comprehension, (ii) perceived usefulness, (iv) perceived ease of use, and (iv) suitability for the intended audience. The resulting data was used to perform a qualitative and quantitative analysis.Results: 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 is suitable to visualize the distribution of code annotations.Conclusions: 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.
引用
收藏
页数:16
相关论文
共 39 条
  • [21] Using students as subjects - a comparative study of students and professionals in lead-time impact assessment
    Host M.
    Regnell B.
    Wohlin C.
    [J]. Empirical Software Engineering, 2000, 5 (3) : 201 - 214
  • [22] CodeCrawler - Polymetric views in action
    Lanza, M
    [J]. 19TH INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2004, : 394 - 395
  • [23] Polymetric views - A lightweight visual approach to reverse engineering
    Lanza, M
    Ducasse, S
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (09) : 782 - 795
  • [24] Lanza M., 2010, Object-oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems, V1
  • [25] Lima P., 2020, J Open Source Softw, V5, P1960, DOI [10.21105/joss.01960, DOI 10.21105/JOSS.01960]
  • [26] Lima Phyllipe, 2022, Zenodo, DOI 10.5281/ZENODO.6660133
  • [27] A Metrics Suite for code annotation assessment
    Lima, Phyllipe
    Guerra, Eduardo
    Meirelles, Paulo
    Kanashiro, Lucas
    Silva, Helio
    Silveira, Fabio Fagundes
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 137 : 163 - 183
  • [28] A systematic literature review of software visualization evaluation
    Merino, L.
    Ghafari, M.
    Anslow, C.
    Nierstrasz, O.
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 144 : 165 - 180
  • [29] CityVR: Gameful Software Visualization
    Merino, Leonel
    Ghafari, Mohammad
    Anslow, Craig
    Nierstrasz, Oscar
    [J]. 2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 633 - 637
  • [30] Cowboys, Ankle Sprains, and Keepers of Quality: How Is Video Game Development Different from Software Development?
    Murphy-Hill, Emerson
    Zimmermann, Thomas
    Nagappan, Nachiappan
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 1 - 11