Since the publication of the GOF classic on Design Patterns, lots of research has been carried out on traceability, automation and formalizing of design patterns in the codebase. But all such efforts have mostly resulted in false negatives - in fact it has also been shown that the lack of syntactic constraints on the pattern definitions has made the pattern detection problem undecidable.
Gil and Maman in their OOPSLA 2005 paper have come up with Micro Patterns, which are mechanically recognizable and traceable, i.e. they can be expressed as simple formal conditions on the attributes, types, name and body of a software module and its components. Their work is a definite progress towards "pattern artifacts" - being at a more granular level than the classical Design Patterns, the micro patterns find their use at late design and early implementation stages of a project. Micro Patterns are, however, at a higher level than SmallTalk Implementation Patterns of Kent Beck (which the authors call nano-patterns).