Skip to content

FlowLog: Re-thinking Datalog for Fast and Extensible Static Analysis

Jul 2026 · arXiv.org · Vol abs/2607.23971 · 0 citations · 21 references
Computer Science

TL;DR

FlowLog is demonstrated, a Datalog compiler that turns Souffl\'e-style programs into Differential Dataflow executables for efficient and extensible static analysis and consistently outperforms state-of-the-art engines in runtime while remaining memory-efficient and scaling better.

Abstract

Datalog is widely used to build static analyzers, yet existing engines often force a tradeoff between efficiency and extensibility. In practice, static analyses are not run once and forgotten: users edit facts, tune rules, diagnose bottlenecks, and often need semantics beyond standard Datalog, leaving these tasks to ad hoc tooling or invasive engine rewrites. We demonstrate FlowLog, a Datalog compiler that turns Souffl\'e-style programs into Differential Dataflow executables for efficient and extensible static analysis. Across 24 benchmarks derived from real-world workloads, FlowLog consistently outperforms state-of-the-art engines in runtime while remaining memory-efficient and scaling better. The demonstration uses a DOOP points-to analysis. Attendees run it, switching the same program from one-shot to incremental evaluation that retracts a fact and updates results in milliseconds; tune it, inspecting per-operator costs in a browser-based profiler and repairing a bad join order; and extend it with a k-core example beyond standard Datalog.

View source

Similar papers

Torchy: A Tracing JIT Compiler for PyTorch (Extended Version)

Torchy is presented, a tracing JIT compiler for PyTorch, one of the mainstream eager-mode frameworks, that achieves similar performance as data-flow frameworks, while providing the same semantics of straight-away execution.

Nuno P. Lopes · 0 citations
Aug 2026

Future-Proof Data Systems

A line of work that treats future-proofness as an abstraction-design problem is summarized, identifying boundaries across the data processing stack where concerns must evolve independently, and design interfaces that preserve enough structure across that boundary for optimization.

Jana Giceva · 0 citations

[Experiments & Analysis] Understanding the Performance of Native Execution in Big Data Engines: The Good, the Bad, and How to Fix It

This paper systematically evaluates the performance across three different native vectorized execution engines, including C++ based Velox and ClickHouse, and Rust based DataFusion, for the widely used big data engine Apache Spark, and proposes a cost model driven operator placement strategy that adaptively schedules op...

Hai-Kai Zhao · 0 citations
Preprint Sep 2026

Compiling Linear Datalog to SQL for Program Analysis

This paper revisits the connection between Datalog and relational databases, advocating recursive SQL as a backend for Datalog evaluation, and presents a compilation framework that translates Datalog programs, particularly those in the Linear Datalog fragment, into equivalent recursive SQL queries.

Amir Shaikhha, Anna Herlihy, Hung Q. Ngo · 0 citations
Preprint Aug 2026

PyFlow: An Inter-procedural Static Analysis Framework for Python

PyFlow is presented, a generic IFDS-based static-analysis framework for Python that provides a multi-stage intermediate-representation pipeline and a generic IFDS solver parameterized by abstract domains and concludes with lessons learned from building IFDS analyses for Python.

Zi-Nan Gu, Haoxiang Yan, Pei-Sen Yao · 0 citations
Conference 2026

Scaling Bottom-Up IFDS Taint Analysis with Optimized Data-Flow Encoding

MonoIFDS is presented, a variant of the IFDS algorithm that combines IFDS-style procedure summaries with bottom-up inter-procedural propagation and uses a modified encoding of the data-flow state and propagation to improve the efficiency of handling large analysis states, and to enable optimizations, such as optimizing...

Fabian Schiebel, Eric Bodden · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.