Modular Collaborative Program Analysis in OPAL
Dominik Helm, Florian K\"ubler, Michael Reif, Michael Eichberg, Mira, Mezini

TL;DR
This paper introduces a modular approach to static program analysis that combines declarative and imperative techniques within the OPAL framework, enabling flexible, exchangeable analyses with improved soundness, precision, and scalability.
Contribution
It presents a novel modular analysis method that integrates declarative and imperative techniques, allowing for analysis exchangeability and improved performance in OPAL.
Findings
Implemented various dissimilar analyses in OPAL
Achieved a points-to analysis outperforming Doop
Enhanced analysis soundness, precision, and scalability
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
