Precision-Guided Context Sensitivity for Pointer Analysis

Introduction

Zipper is the first research work that shows how and where most imprecision is introduced in a context-insensitive pointer analysis. By applying context sensitivity only to the precision-critical methods identified by Zipper (context insensitivity to other methods), Zipper enables the conventional context-sensitive pointer analysis (e.g., 2-object-sensitivity) to run much faster while retaining essentially all of its precision. The technical details of Zipper can be found in our paper titled " Precision-Guided Context Sensitivity for Pointer Analysis", OOPSLA'18.

Based on Zipper, we proposed Zipper-e (short for Zipper-express) in our TOPLAS'20 paper "A Principled Approach to Selective Context Sensitivity for Pointer Analysis", which exhibits extremely good efficiency with high precision.

License

MIT License

Release

The source code, executable program and tutorial of Zipper and Zipper-e are available at GitHub repository.

Artifact