Probabilistic pointer analysis for multithreaded programs
Mohamed A. El-Zawawy

TL;DR
This paper introduces a flow-sensitive probabilistic pointer analysis technique for multithreaded programs, enabling more precise aliasing probability measurements to support speculative optimizations.
Contribution
It presents a novel type system-based approach for probabilistic pointer analysis specifically tailored for multithreaded programs, including a method to derive justification proofs.
Findings
Calculates aliasing probabilities at each program point.
Supports sound speculative optimizations in multithreaded contexts.
Provides a type derivation framework for analysis correctness.
Abstract
The use of pointers and data-structures based on pointers results in circular memory references that are interpreted by a vital compiler analysis, namely pointer analysis. For a pair of memory references at a program point, a typical pointer analysis specifies if the points-to relation between them may exist, definitely does not exist, or definitely exists. The "may be" case, which describes the points-to relation for most of the pairs, cannot be dealt with by most compiler optimizations. This is so to guarantee the soundness of these optimizations. However, the "may be" case can be capitalized by the modern class of speculative optimizations if the probability that two memory references alias can be measured. Focusing on multithreading, a prevailing technique of programming, this paper presents a new flow-sensitive technique for probabilistic pointer analysis of multithreaded programs.…
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.
