Back to results

University of Technology Sydney

Data Structures for Points-To Analysis

Abstract

dc:description.abstract

In this dissertation, we present improvements to data structures, and the algorithms upon them, for points-to analysis. Our focus is mainly on flow-sensitive analysis but our techniques can either be applied to other analyses or used in analyses which combine flow-sensitivity with other sensitivities. For staged flow-sensitive analysis (SFS), we introduce a pre-analysis (meld versioning) where we determine when it is possible to reuse the points-to sets of individual address-taken variables at different program points, then perform the main analysis using this information. Meld versioning is also amenable to parallelisation with minimal effort. For points-to sets, we introduce an improved bit-vector stripping both leading and trailing zero-words, then use that to aid in improving the object-to-identifier mapping required to use bit-vectors as points-to sets. We frame this as an integer programming problem, yielding an optimal solution but with impractical performance, and so we develop a more approximate (yet extremely fast) method based on hierarchical clustering. We also describe hash consing and memoisation, along with some optimisations which would otherwise be impractical, for points-to sets. We have implemented our techniques in open source points-to analysis framework SVF, and upon evaluating with 12 open source programs, we find, on average, a speedup of almost 6× and a reduction in memory usage of more than 3.97× when compared with a baseline SFS.

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Barbar, Mohamad

Rights

dc:rights
Statement dc:rights
  • info:eu-repo/semantics/openAccess
  • The author owns the copyright in this thesis including all reproduction and reuse rights for the work. The work may not be altered without the permission of the copyright owner. Attribution is essential when quoting or paraphrasing from this thesis.
  • © 2022 Mohamad Barbar
  • au.edu.uts.lib/ppc
Language dc:language.iso
en_US

Identifiers

dc:identifier.*
Handle dc:identifier.uri
http://hdl.handle.net/10453/165867
OAI identifier oai:identifier
oai:opus.lib.uts.edu.au:10453/165867

Chain of custody

source
Harvested from
University of Technology Sydney
Base URL
opus.lib.uts.edu.au/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
related terms
citation

Barbar, Mohamad. Data Structures for Points-To Analysis. 2022. http://hdl.handle.net/10453/165867