Detecting modularity "smells" in dependencies injected with Java annotations

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    8 Citations (Scopus)
    182 Downloads (Pure)


    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.
    Original languageEnglish
    Title of host publicationProceedings of the 14th European Conference on Software Maintenance and Reengineering (CSMR 2010, Madrid, Spain, March 15-18, 2010)
    PublisherIEEE Computer Society
    ISBN (Print)978-1-61284-369-8
    Publication statusPublished - 2010


    Dive into the research topics of 'Detecting modularity "smells" in dependencies injected with Java annotations'. Together they form a unique fingerprint.

    Cite this