Pointer Analysis Framework Optimization
Overview
Research project at the Focal Lab (UIUC), mentored by Gagandeep Singh and Yasmin Sarita, focused on optimizing pointer analysis frameworks for object-oriented programming languages.
Contributions
- Framework Optimization: Modified large code frameworks in Souffle, Java, and Groovy to improve the tradeoff between precision and scalability, successfully achieving pointer analysis beyond 2-object sensitivity
- Reinforcement Learning Integration: Introduced RL algorithms to automate analysis path decisions and memory allocation, improving the framework’s automated decision-making capabilities
- Automated Testing: Built automated data testing in Python for accuracy validation and targeted bug fixes
Tech Stack
Souffle/Datalog, Java, Groovy, Python
Links
- Full report: Enhancing Context Sensitivity Selection Using Non-trivial Features and Reinforcement Learning (PDF, December 2023) — Covers the extension of the Scalar framework to 1-object and 3-object sensitivity, the “precision importance” metric used to model the time–precision trade-off per function, and the incremental redesign that lets a reinforcement learning agent pick a context-sensitivity option one function at a time.
