Published January 8, 2026 | Version v1
Software Open

Same Engine, Multiple Gears: Parallelizing Fixpoint Iteration at Different Granularities

  • 1. ROR icon Technical University of Munich
  • 2. ROR icon National University of Singapore
  • 3. ROR icon University of Tartu
  • 1. ROR icon Technical University of Munich
  • 2. ROR icon National University of Singapore
  • 3. ROR icon University of Tartu

Description

Artifact for the TACAS '26 Paper Same Engine, Multiple Gears: Parallelizing Fixpoint Iteration at Different Granularities

Fixpoint iteration constitutes the algorithmic core of static analyzers. Parallelizing the fixpoint engine can significantly reduce analysis times. Previous approaches typically fix the granularity of tasks up-front,  e.g., at the level of program threads or procedures — yielding an engine permanently stuck in one gear.

 Instead, we propose to parallelize a generic fixpoint engine in a way that is parametric in the task granularity — meaning that our engine can be run in many different
gears.  We build on the top-down solver TD, extended with support for mixed-flow sensitivity, and realize two competing philosophies for parallelization, both building on a task pool, which schedules tasks to a fixed number of workers. The nature of tasks differs between the philosophies.

In the immediate approach, all tasks access a single thread-safe hash table maintaining solver state, while in the independent approach, each task has its own state and exchanges data with other tasks via a publish/subscribe data structure. We have equipped the fixpoint engine of the static analysis framework Goblint with implementations following both philosophies and report on our results for large real-world programs.

Please refer to README.md for the artifact descritption.
For the most up-to-date version of the Goblint Static Analyzer, please refer to https://goblint.in.tum.de.

Files

README.md

Files (1.8 GB)

Name Size Download all
md5:bea393296b888602dc68c39704cfa69c
10.5 kB Preview Download
md5:9c4ba8b11ad4b3a8d3edecb406fa1e71
1.8 GB Preview Download

Additional details

Software

Programming language
OCaml