Advanced search
Start date
(Reference retrieved automatically from Web of Science through information on FAPESP grant and its corresponding number as mentioned in the publication by the authors.)

A Metrics Suite for code annotation assessment

Full text
Lima, Phyllipe [1] ; Guerra, Eduardo [1] ; Meirelles, Paulo [2, 3] ; Kanashiro, Lucas [2] ; Silva, Helio [1] ; Silveira, Fabio Fagundes [4]
Total Authors: 6
[1] Natl Inst Space Res INPE, Sao Jose Dos Campos - Brazil
[2] Univ Sao Paulo, IME, Sao Paulo - Brazil
[3] Univ Brasilia, FGA, UnB, Brasilia, DF - Brazil
[4] Univ Fed Sao Paulo, ICT, UNIFESP, Sao Paulo - Brazil
Total Affiliations: 4
Document type: Journal article
Source: JOURNAL OF SYSTEMS AND SOFTWARE; v. 137, p. 163-183, MAR 2018.
Web of Science Citations: 1

Code annotation is a language feature that enables the introduction of custom metadata on programming elements. In Java, this feature was introduced on version 5, and today it is widely used by main enterprise application frameworks and APIs. Although this language feature potentially simplifies metadata configuration, its abuse and misuse can reduce source code readability and complicate its maintenance. The goal of this paper is to propose software metrics regarding annotations in the source code and analyze their distribution in real-world projects. We have defined a suite of metrics to assess characteristics of the usage of source code annotations in a code base. Our study collected data from 24947 classes extracted from open source projects to analyze the distribution of the proposed metrics. We developed a tool to automatically extract the metrics and provide a full report on annotations usage. Based on the analysis of the distribution, we defined an appropriate approach for the calculation of thresholds to interpret the metric values. The results allow the assessment of annotated code characteristics. Using the thresholds values, we proposed a way to interpret the use of annotations, which can reveal potential problems in the source code. (C) 2017 Elsevier Inc. All rights reserved. (AU)

FAPESP's process: 14/16236-6 - Programing interface for metadata retrieval on object-oriented language elements
Grantee:Eduardo Martins Guerra
Support type: Regular Research Grants