Title :
Detecting Modularity "Smells" in Dependencies Injected with Java Annotations
Author :
Roubtsov, Serguei ; Serebrenik, Alexander ; van den Brand, Mark
Author_Institution :
Fac. of Math. & Comput. Sci., Tech. Univ. Eindhoven, Eindhoven, Netherlands
Abstract :
Dependency injection is a recent programming mechanism reducing dependencies among components by delegating them to an external entity, called a dependency injection framework. An increasingly popular approach to dependency injection implementation relies upon using Java annotations, a special form of syntactic metadata provided by the dependency injection frameworks. However, uncontrolled use of annotations may lead to potential violations of well-known modularity principles. In this paper we catalogue “bad smells”, i.e., modularity-violating annotations defined by the developer or originating from the popular dependency injection frameworks. For each violation we discuss potential implications and propose means of resolving it. By detecting modularity bad smells in Java annotations our approach closes the gap between the state-of-the-art programming practice and currently available analysis techniques.
Keywords :
Java; meta data; program testing; Java annotations; bad smells; dependency injection; programming mechanism; syntactic metadata; Databases; Java; Maintenance engineering; Servers; Software design; Sun; Java annotations; coding smells; configuration; dependency injection; modularity;
Conference_Titel :
Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on
Conference_Location :
Madrid
Print_ISBN :
978-1-61284-369-8
Electronic_ISBN :
1534-5351
DOI :
10.1109/CSMR.2010.45