Modular collaborative program analysis in OPAL

D Helm, F Kübler, M Reif, M Eichberg… - Proceedings of the 28th …, 2020 - dl.acm.org
Proceedings of the 28th ACM Joint Meeting on European Software Engineering …, 2020dl.acm.org
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 …
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.
ACM Digital Library