From Release OTP 26.0-rc1 · erlang/otp · GitHub
Dialyzer has a new incremental mode that be invoked by
--incrementaloption when running Dialyzer.
This new incremental mode is likely to become the
default in a future release.
The docs in the source code say:
The analysis starts from an existing incremental PLT, or builds one from
scratch if one doesn’t exist, and runs the minimal amount of additional
analysis to report all issues in the given set of apps. Notably, incremental
PLT files are not compatible with "classic" PLT files, and vice versa.
The initial incremental PLT will be updated unless an alternative output
incremental PLT is given.
How is this different from the current strategy? Dialyzer is currently very slow on the first run and much faster after PLT files exist, so in that sense it’s already “incremental” (not starting from the beginning every time).