  Current approaches combining multiple static analyses deriving different,
independent properties focus either on modularity or performance. Whereas
declarative approaches facilitate modularity and automated,
analysis-independent optimizations, imperative approaches foster manual,
analysis-specific optimizations.
  In this paper, we present a novel approach to static analyses that leverages
the modularity of blackboard systems and combines declarative and imperative
techniques. Our approach allows exchangeability, and pluggable extension of
analyses in order to improve sound(i)ness, precision, and scalability and
explicitly enables the combination of otherwise incompatible analyses. With our
approach integrated in the OPAL framework, we were able to implement various
dissimilar analyses, including a points-to analysis that outperforms an
equivalent analysis from Doop, the state-of-the-art points-to analysis
framework.
