An Annotation-based API for Supporting Runtime Code Annotation Reading
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 denition documented on patterns, and has been implemented by a framework named Esnge Metadata. We evaluated the approach by refactoring an existing framework to use it through Esnge Metadata. The original and the refactored versions are compared using several code assessment techniques, such as software metrics, DSM (Dependency Structure Matrix) 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.
Sun 22 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 30mTalk | Reactive Reflection in an FRP Language for Small-Scale Embedded Systems META Takuo Watanabe Tokyo Institute of Technology File Attached | ||
14:00 30mTalk | Metaphysics: Towards a Robust Framework for Remotely Working with Potentially Broken Objects and Runtimes META File Attached | ||
14:30 30mTalk | An Annotation-based API for Supporting Runtime Code Annotation Reading META Phyllipe Lima INPE - National Institute for Space Research, Eduardo Guerra INPE - National Institute for Space Research, Marco Nardes INPE - National Institute for Space Research, Andrea Mocci Universita della Svizzera italiana (USI), Gabriele Bavota Università della Svizzera italiana (USI), Michele Lanza Università della Svizzera italiana (USI) DOI |