DagSemProc.08161.6.pdf
- Filesize: 89 kB
- 3 pages
Using Machine Learning to yield Scalable Program Analyses Program Analysis tackles the problem of predicting the behavior or certain properties of the considered program code. The challenge lies in determining the dynamic runtime behavior statically at compile time. While in rare cases it is possible to determine exact dynamic properties already statically, in many cases, e.g., in analyzing memory dependencies, one can only find imprecise information. To overcome this, we apply Machine Learning (ML) techniques which are particularly suited for this task. They yield highly scalable predictors and are safely applicable when erroneous predictions merely have an impact on program optimality but not on correctness. In this talk, I present our approach to mitigate the impact of the memory gap. Over the last decade, computer performance is often dominated by memory speed, which did not manage to keep pace with the ever increasing cpu rates. We consider novel speculative optimization techniques of memory accesses to reduce their effective latency. We trained predictors to learn the memory dependencies of a given pair of accesses, and use the result in our optimization do decide about the profitability of a given optimization step.
Feedback for Dagstuhl Publishing