A typical points-to analysis such as Andersen’s or Steensgaard’s may lose precision because it ignores the branching structure of the analyzed program. Moreover, points-to analysis typically focuses on objects only, not considering instructions manipulating primitive values. We argue that such an approach leads to an unnecessary precision loss, especially when primitive constants true and false flow out of method calls. We propose a novel lightweight points-to analysis called SkipFlow that interprocedurally tracks the flow of both primitives and objects, and explicitly captures the branching structure of the code using predicate edges. At the same time, however, SkipFlow is as lightweight and scalable as possible, unlike a traditional flow-sensitive analysis. We implemented SkipFlow for GraalVM Native Image, a closed-world solution to building standalone binaries for Java applications. We evaluate the implementation using a set of microservice applications as well as well-known benchmark suites. We show that SkipFlow reduces the size of the application in terms of reachable methods by 9% on average without significantly increasing the analysis time, even reducing analysis time in many cases.

Tue 4 Mar

Displayed time zone: Pacific Time (US & Canada) change

10:00 - 11:00
Program Analysis & SynthesisMain Conference at Casuarina Ballroom (Level 2)
Chair(s): Jose Nelson Amaral University of Alberta
10:00
20m
Talk
Automatic Synthesis of Specialized Hash Functions
Main Conference
Renato B Hoffmann PUC-RS, Leonardo Gibrowski Faé PUC-RS, Dalvan Griebler Pontifícia Universidade Católica do Rio Grande do Sul - PUCRS, David Li Google, Fernando Magno Quintão Pereira Federal University of Minas Gerais
10:20
20m
Talk
Stack Filtering: Elevating Precision and Efficiency in Rust Pointer Analysis
Main Conference
Wei Li UNSW, Dongjie He Chongqing University, China, Wenguang Chen Tsinghua University; Pengcheng Laboratory, Jingling Xue UNSW Sydney
10:40
20m
Talk
SkipFlow: Improving the Precision of Points-to Analysis using Primitive Values and Predicate Edges
Main Conference
David Kozak Brno University of Technology & Oracle Labs, Christian Wimmer Amazon Web Services, Codrut Stancu Oracle Labs, Tomas Vojnar Masaryk University