Java points-to graphs#
- Release:
6.1.2
- Date:
Oct 28, 2026
Exhaustive, field-sensitive points-to graphs for Java programs, produced by the analysis of “Giga-scale exhaustive points-to analysis for Java in under a minute”. Edges are the points-to relations (allocations, assignments, loads, stores, calls, returns); reversed edges are auto-generated from the forward edges and are not stored (see Graphs).
Graph |
Num Nodes |
Num Edges |
Reachable pairs |
Size (MB) |
Download |
14114 |
17467 |
56325 |
0.268 |
||
15464 |
15957 |
16354 |
0.129 |
||
15774 |
14994 |
9242 |
0.114 |
||
18532 |
17375 |
9677 |
0.133 |
||
24690 |
25196 |
21532 |
0.212 |
||
25436 |
31194 |
16169 |
0.249 |
||
26188 |
31214 |
24020 |
0.261 |
||
40970 |
48427 |
27553 |
0.371 |
||
41383 |
40200 |
21830 |
0.208 |
||
44717 |
56683 |
92038 |
0.263 |
||
54444 |
59329 |
60518 |
0.460 |
||
58476 |
62758 |
52382 |
0.320 |
||
59818 |
74685 |
129598 |
0.453 |
||
60175 |
63089 |
45968 |
0.310 |
||
86183 |
83016 |
76615 |
0.417 |
||
111327 |
110884 |
82424 |
0.563 |
||
129562 |
168116 |
26384496 |
1.06 |
||
149404 |
197678 |
3108775 |
1.22 |
||
191895 |
260034 |
561720 |
1.05 |
||
439693 |
466969 |
696316 |
2.33 |
||
440680 |
468263 |
698567 |
2.34 |
Canonical grammars#
Grammars for the field-sensitive analysis of Java programs introduced in “Giga-scale exhaustive points-to analysis for Java in under a minute”. Template for these grammars is described on the Java Points-to page.
Optimized variant#
An equivalent WCNF grammar introduced as optimization (5) in “Optimization of the Context-Free Language Reachability Matrix-Based Algorithm” (Fig. 1(b)) is stored in each archive as java_points_to_muravev2024.cnf. It generates the same language and returns identical reachable-pair counts (verified with FastMatrixCFPQ on small graphs).
The archives of this category use two label conventions for the field-indexed
labels: the indexed template (load_i, …) and the bare family form
(load, …). The stored optimized variant follows the convention of its
archive — the indexed form below, or the same productions with every _i
suffix dropped (LPFS, LP, FS, SPFL, SP, FL) for the
bare-form archives.
PT alloc
PT assign PT
PT LPFS_i PT
FT alloc_r
FT FT assign_r
FT FT SPFL_i
LPFS_i LP_i FS_i
LP_i load_i PT
FS_i FT store_i
SPFL_i SP_i FL_i
SP_i store_r_i PT
FL_i FT load_r_i
Count:
PT