Clang: checker vs. plugin


I was wondering the difference between the concept of a plugin and a checker. Please, correct me. As far as I know, from a technical point of view, a plugin is a separately compiled routine (DLL) that may be loaded by the compiler (compile-time). However, a checker is a routine used by Clang’s analyzer to enhance the latter’s analysis logic (in the case of a checker, in order for the analyzer to be able to use it, the latter must be rebuilt).

I also wonder whether a plugin can also interact with Clang’s analyzer? If so, then what reason could make you decide whether to implement a checker or a plugin?