[analyzer] Checker identifiers


A patch about bug identification just got accepted (http://reviews.llvm.org/D10305), however one of the weakness of the current method is the lack of unique identifiers for static analyzer checkers, that remain unchanged over time. Right now the checkers are identified by full name including packages, which is not a robust solution, because these checkers are sometimes moved to a separate package.

I would like to propose a new requirement for the names of the checkers. If the checker names (without the package names) would be unique and unchanged over time, it would be possible to use the names in the issue hashes and moving a checker to another package would not affect the hashes.

If you find this requirement reasonable, I will propose a patch which makes checker name collision a hard error (even when they are in different package).

In case you think this requirement is overly restrictive an alternative way would be to have an extra string for each checker which can be similar to git commit hashes.

What do you think?