A programming model for semi-implicit parallelization of static analyses

10Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free