Towards Scalable Provenance Generation From Points-To Information: An Initial Experiment}
Padmanabhan Krishnan, Stepan Sindelar, Bernhard Scholz, Raghavendra Kagalavadi Ramesh, Yi Lu
29 January 2017
Points-to analysis is often used to identify potential defects in code. The usual points-to analysis does not store the justification for the presence of a specific value in the points-to relation. But for points-to analysis to meet the needs of the programmer, the analysis needs to provide the justification for its results. Programmers will use such justification to identify the cause of defect the code.
In this paper we describe an approach to generate provenance informationi n the context of points-to analysis. Our solution is to define an abstract notion of data-flow traces that is computed as a post-analysis using points-to information that has already been computed. We implemented our approach in conjunction with the DOOP framework that computes points-to information. We use four benchmarks derived from two versions of the JDK, and use two realistic clients to demonstrate the
effectiveness of our solution. For instance, we show that the overhead to compute these data-flow traces is only 25\% when compared to the time to compute the original points-to analysis. We also discuss some of the limitations of approach especially in generating precise traces.
Venue : We plan to submit the paper towards SOAP (http://pldi17.sigplan.org/track/SOAP-2017-papers), a workshop associated with PLDI.