Layering Violations
Personally, I found
this post by Larry Osterman on 'layering violations'
to be incredibly interesting. In it, he describes the
"Architectural Layering Initiative" at Microsoft and how they have used
Static Code Analysis to create a map of run-time and build-time
dependencies between Windows Components and how they are attempting to
refactor Windows to ensure that low-level components don't depend on
higher-level components and also put "Quality Gates" in place to ensure
that no more of these "Layering Violations" occur. Interesting
stuff, in my opinion. I suggest you check it out.