English

Modular Collaborative Program Analysis in OPAL

Software Engineering 2020-10-12 v1

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 state-of-the-art points-to analysis framework.

Keywords

Cite

@article{arxiv.2010.04476,
  title  = {Modular Collaborative Program Analysis in OPAL},
  author = {Dominik Helm and Florian Kübler and Michael Reif and Michael Eichberg and Mira Mezini},
  journal= {arXiv preprint arXiv:2010.04476},
  year   = {2020}
}

Comments

Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Nov 2020

R2 v1 2026-06-23T19:12:13.146Z