Abstract
Parallelization of static analyses is necessary to scale to real-world programs, but it is a complex and difficult task and, therefore, often only done manually for selected high-profile analyses. In this paper, we propose a programming model for semi-implicit parallelization of static analyses which is inspired by reactive programming. Reusing the domain-expert knowledge on how to parallelize anal- yses encoded in the programming framework, developers do not need to think about parallelization and concurrency issues on their own. The programming model supports stateful computations, only requires monotonic computations over lattices, and is independent of specific analyses. Our evaluation shows the applicability of the programming model to different analyses and the importance of user-selected scheduling strategies. We implemented an IFDS solver that was able to outperform a state-of-the-art, specialized parallel IFDS solver both in absolute performance and scalability.
Author supplied keywords
Cite
CITATION STYLE
Helm, D., Kübler, F., Kölzer, J. T., Haller, P., Eichberg, M., Salvaneschi, G., & Mezini, M. (2020). A programming model for semi-implicit parallelization of static analyses. In ISSTA 2020 - Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis (pp. 428–439). Association for Computing Machinery, Inc. https://doi.org/10.1145/3395363.3397367
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.