This package contains the interfaces via which the various analyses should be exposed. The reason for this being that on doing so it will be trivial to plug in a different implementation without changing the application. So, any application using the results should be programmed to use these interfaces instead of the implementation. Likewise, the implementations should try to access the results of required analyses via these interfaces as much as possible.