ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Refinement in object-sensitivity points-to analysis via slicing

Rama, GM and Komondoor, R and Sharma, H (2018) Refinement in object-sensitivity points-to analysis via slicing. In: Proceedings of the ACM on Programming Languages, 2 (OOPSLA).

[img]
Preview
PDF
pro_acm_pro_lan_2-OOPSLA_2018.pdf - Published Version

Download (501kB) | Preview
Official URL: https://doi.org/10.1145/3276512

Abstract

Object sensitivity analysis is a well-known form of context-sensitive points-to analysis. This analysis is parameterized by a bound on the names of symbolic objects associated with each allocation site. In this paper, we propose a novel approach based on object sensitivity analysis that takes as input a set of client queries, and tries to answer them using an initial round of inexpensive object sensitivity analysis that uses a low object-name length bound at all allocation sites. For the queries that are answered unsatisfactorily, the approach then pin points łbadž points-to facts, which are the ones that are responsible for the imprecision. It then employs a form of program slicing to identify allocation sites that are potentially causing these bad points-to facts to be generated. The approach then runs object sensitivity analysis once again, this time using longer names for just these allocation sites, with the objective of resolving the imprecision in this round. We describe our approach formally, prove its completeness, and describe a Datalog-based implementation of it on top of the Petablox framework. Our evaluation of our approach on a set of large Java benchmarks, using two separate clients, reveals that our approach is more precise than the baseline object sensitivity approach, by around 29% for one of the clients and by around 19% for the other client. Our approach is also more precise on most large benchmarks than a recently proposed approach that uses SAT solvers to identify allocation sites to refine.

Item Type: Journal Article
Publication: Proceedings of the ACM on Programming Languages
Publisher: Association for Computing Machinery
Additional Information: The copyright for this article belongs to the Authors.
Keywords: Java programming language; Query processing, Allocation sites; Client-driven refinement; Context sensitive; Java; Points-to analysis; Program slicing; Sensitivity approach; Symbolic objects, Sensitivity analysis
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 23 Aug 2022 11:02
Last Modified: 23 Aug 2022 11:02
URI: https://eprints.iisc.ac.in/id/eprint/76218

Actions (login required)

View Item View Item