Attribute Sniffer: Collecting Attribute Metrics for C# Code
The C# attributes have been available since the release of this language as a means to configure custom metadata on code elements. Being very similar to Java annotations, they are both introduced directly in the source code. Several C# frameworks such as NUnit, Unity Game Engine, and JSON.net use attributes to allow applications to configure custom metadata, as to execute different behavior and validation. This paper presents the Attribute Sniffer, a tool to collect attributes metrics on the C# source code, also validating the metrics proposed initially for Java annotations.
ECMA (2001). C# Language Specification. European Computer Manufacturers Association.
Guerra, E., Alves, F., Kulesza, U., and Fernandes, C. (2013). A reference architecture for organizing the internal
structure of metadata-based frameworks. Journal of Systems and Software, 86(5):1239 – 1256.
Guerra, E. M., Silveira, F. F., and Fernandes, C. T. (2009). Questioning traditional metrics for applications which uses metadata-based frameworks. In Proceedings of the 3rd Workshop on Assessment of Contemporary Modularization Techniques (ACoM’09), October, volume 26, pages 35–39.
Lanza, M. and Marinescu, R. (2006). Object-oriented metrics in practice: using software metrics to characterize, evaluate, and improve the design of object-oriented systems. Springer.
Lima, P., Guerra, E., and Meirelles, P. (2018a). Annotation sniffer: Open source tool for annotated code elements. In CBSoft 2018 - Tools Session ().
Lima, P., Guerra, E., Meirelles, P., Kanashiro, L., Silva, H., and Silveira, F. (2018b). A metrics suite for code annotation assessment. Journal of Systems and Software, 137:163 – 183.
Meirelles, P. R. M. (2013). Monitoring Source Code Metrics in Free Software Projects. PhD thesis, Department of Computer Science – Institute of Mathematics and Statistics of University of São Paulo. [in portuguese].
Microsoft (2019). The .net compiler platform sdk (roslyn apis). Accessed: 2019-03-29.
Polancec, D. and Mekterovic, I. (2017). Developing moba games using the unity game engine. In 2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pages 1510–1515.