Paper: Phoenix: A Modular and Versatile Framework for C/C++ Pointer Analysis

John R Levine <johnl@taugh.com>
Tue, 03 Feb 2026 15:39:26 -0500

          From comp.compilers

Related articles
Paper: Phoenix: A Modular and Versatile Framework for C/C++ Pointer Analysis johnl@taugh.com (John R Levine) (2026-02-03)
| List of all articles for this month |
From: John R Levine <johnl@taugh.com>
Newsgroups: comp.compilers
Date: Tue, 03 Feb 2026 15:39:26 -0500
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="1904"; mail-complaints-to="abuse@iecc.com"
Keywords: C++, analysis, optimize
Posted-Date: 03 Feb 2026 15:43:03 EST

Abstract


We present Phoenix, a modular pointer analysis framework for C/C++
that unifies multiple state-of-the-art alias analysis algorithms
behind a single, stable interface. Phoenix addresses the fragmentation
of today's C/C++ pointer analysis ecosystem by cleanly separating IR
construction, constraint generation, solver backends, and
client-facing queries, making analyses easy to compare, swap, and
compose while exposing explicit precision-performance trade-offs. We
evaluate Phoenix against SVF under two representative configurations:
a flow- and context-insensitive setting and a more precise flow- and
context-sensitive setting, on 28 GNU coreutils programs. Phoenix
delivers robust speedups in the baseline configuration (up to 2.88x)
and remains competitive, and often faster, even in the stronger
precision regime (up to 2.91x), without a systematic runtime penalty.
In production, Phoenix serves as the analysis substrate for static
analysis and fuzzing tools that have uncovered hundreds of new bugs
and enabled deployments reporting more than 1000 bugs found in an
industrial toolchain.


https://arxiv.org/abs/2602.01720


Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.