The technical report: http://abc.comlab.ox.ac.uk/techreports#abc-2005-1 (abcTM for abc trace match) is interesting for our analysis of selector languages. The selector language in abcTM is interesting. They use regular expressions (no intersection and negation). A tracematch looks like a propagation pattern: A set of symbol declarations (similar to class valued variables), a regular expression (similar to a traversal strategy), a method body (similar to a visitor with one method on the target of the traversal strategy). The regular expressions only focus on corner stones: the declared symbols. There can be other events in the trace but they will be factored out. abcTM uses selector expressions at two levels: first to define interesting events (here they use SAJ) and then to define patterns of events (here they use regular expressions in the way we use traversal strategies). The paths (from the tree traversal of the execution) are expansions of the strings defined by the regular expression. The interesting events can be anywhere in the execution tree: they don't have to be on a path from the root. A match occurs when a suffix of the trace matches the regular expressions. The before/after go into the symbol definitions. Example: symbols A,B,C regexp A B (concatenation) This is like "from A bypassing C to B" except that the path being matched is