This smell occurs when an abstraction that is actually not needed (and thus could have been avoided) gets introduced in a software design.
Related smells: Lazy Class Poltergeist
The following set of tools detects this smell: Designite(for C#) DesigniteJava(for Java)
G. Suryanarayana, G. Samarthyam, T. Sharma, “Refactoring for Software Design Smells: Managing Technical Debt”. Morgan Kaufmann, 2014.