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 条
  • [1] Code smells for Model-View-Controller architectures
    Aniche, Mauricio
    Bavota, Gabriele
    Treude, Christoph
    Gerosa, Marco Aurelio
    van Deursen, Arie
    [J]. EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) : 2121 - 2157
  • [2] SATT: Tailoring Code Metric Thresholds for Different Software Architectures
    Aniche, Mauricio
    Treude, Christoph
    Zaidman, Andy
    van Deursen, Arie
    Gerosa, Marco Aurelio
    [J]. 2016 IEEE 16TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2016, : 41 - 50
  • [3] [Anonymous], 2004, P 2004 AUSTR S INF V
  • [4] [Anonymous], 2005, Introduction to Circle Packing. The Theory of Discrete Analytic Functions
  • [5] Basili V.R., 1994, Encyclopedia of Software Engineering
  • [6] Bostock M., 2017, CIRCLE PACKING
  • [7] D3: Data-Driven Documents
    Bostock, Michael
    Ogievetsky, Vadim
    Heer, Jeffrey
    [J]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2011, 17 (12) : 2301 - 2309
  • [8] One size fits all? What counts as quality practice in (reflexive) thematic analysis?
    Braun, Virginia
    Clarke, Victoria
    [J]. QUALITATIVE RESEARCH IN PSYCHOLOGY, 2021, 18 (03) : 328 - 352
  • [9] Choma J., 2019, ARTIFACT SUPPORT AGI, P88, DOI DOI 10.18293/SEKE2019-146
  • [10] Recommended Steps for Thematic Synthesis in Software Engineering
    Cruzes, Daniela S.
    Dyba, Tore
    [J]. 2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011), 2011, : 275 - 284