Quality Improvement in Annotated Code
TL;DR: This paper presents identified bad smells in annotated code and defines new metrics that help in their detection by enabling a quantitative assessment of complexity and coupling in this type of code.
read more
Abstract: In order to customize their behavior at runtime, a wide sort of modern frameworks do use code annotations at the applications‟ classes as metadata configuration. However, despite its popularity, this type of metadata definition inserts complexity and semantic coupling that is ignored by traditional software metrics. This paper presents identified bad smells in annotated code and defines new metrics that help in their detection by enabling a quantitative assessment of complexity and coupling in this type of code. Moreover, it proposes some strategies to detect those bad smells by using the defined metrics and introduces an open-source tool created to automate the process of bad smell discovery on annotated code.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A reference architecture for organizing the internal structure of metadata-based frameworks
TL;DR: A pattern language and a reference architecture are proposed for better organizing the internal structure of metadata-based frameworks, which were defined as a result of a pattern mining process applied to a set of existing open source frameworks.
23
Language composition using source code annotations
TL;DR: This work examines source code annotations from the viewpoint of formal languages and proposes to consider a set of all annotations and their parameters processed by the same reference implementation to be called an annotation-based language.
XML to Annotations Mapping Patterns
Milan Nosal,Jaroslav Porubän +1 more
- 01 Jan 2013
TL;DR: This paper presents XML to annotations mapping patterns that can be used to map languages from one format to the other and to seamlessly move configurations from annotations to XML or vice versa.
Composite annotations with inter-type declarations in aspect-oriented programming
Matej Palfi,Milan Nosal,Emilia Pietrikova +2 more
- 01 Nov 2015
TL;DR: In this article, a new approach to composite annotations implementation using aspect-oriented programming is proposed, where composite annotations compose a repeating group of annotations into a single one so that can be used instead of the repeating group.
Source code annotations as formal languages
Milan Nosal,Matúš Sulír,Jan Juhar +2 more
- 11 Oct 2015
TL;DR: The presented analysis contributes to the field of attribute-oriented programming by discussing the relationship between annotations and conventional formal languages, and by surveying relational idioms in annotations' usage that can be inspirational for annotations' authors.
References
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
A Complexity Measure
TL;DR: Several properties of the graph-theoretic complexity are proved which show, for example, that complexity is independent of physical size and complexity depends only on the decision structure of a program.
6K
•Book
Refactoring: Improving the Design of Existing Code
Martin Fowler
- 01 Jan 1999
TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
•Book
A complexity measure
Thomas J. McCabe
- 04 Oct 1993
TL;DR: In this paper, a graph-theoretic complexity measure for managing and controlling program complexity is presented. But the complexity is independent of physical size, and complexity depends only on the decision structure of a program.
5.1K
Detection strategies: metrics-based rules for detecting design flaws
Radu Marinescu
- 11 Sep 2004
TL;DR: This work proposes a novel mechanism - called detection strategy - for formulating metrics-based rules that capture deviations from good design principles and heuristics, and defined such detection strategies for capturing around ten important flaws of object-oriented design found in the literature.
656