An Annotation-based API for Supporting Runtime Code Annotation Reading

An Annotation-based API for Supporting Runtime Code Annotation Reading

22 October 2017 Paper
Workshop No tags assigned

Authors: Phyllipe Lima, Eduardo Guerra, Marco Nardes, Andrea Mocci, Gabriele Bavota, Michele Lanza

Proceedings of META 2017 (Workshop on Meta-Programming Techniques and Reflection @ SPLASH 2017)

Citations
Google Scholar

Abstract. Code annotations are the core of the main APIs and frameworks for enterprise development, and are widely used on several applications. However, despite these APIs and frameworks made advanced uses of annotations, the language API for annotation reading is far from their needs. In particular, annotation reading is still a relatively complex task, that can consume a lot of development time and that can couple the framework internal structure to its annotations. This paper proposes an annotation-based API to retrieve metadata from code annotations and populate an instance with meta-information ready to be used by the framework. The proposed API is based on best practices and approaches for metadata definition documented on patterns, and has been implemented by a framework named Esfinge Metadata. We evaluated the approach by refactoring an existing framework to use it through Esfinge Metadata. The original and the refactored versions are compared using several code assessment techniques, such as software metrics, and bad smells detection, followed by a qualitative analysis based on source code inspection. As a result, the case study revealed that the usage of the proposed API can reduce the coupling between the metadata reading code and the annotations.

Coauthors

Pre-Print


Thanks for reading!

An Annotation-based API for Supporting Runtime Code Annotation Reading

22 October 2017 Paper 0
Workshop No tags assigned

© Andrea Mocci | Closed Access