Abstract
Accelerated fixpoint iteration by means of widening and narrowing is the method of choice for solving systems of equations over domains with infinite ascending chains. The strict separation into an ascending widening and a descending narrowing phase, however, may unnecessarily give up precision that cannot be recovered later. It is also unsuitable for equation systems with infinitely many unknowns - where local solving must be used. As a remedy, we present a novel operator □ that combines a given widening operator ∇ with a given narrowing operator Δ. We present adapted versions of round-robin and worklist iteration as well as local and side-effecting solving algorithms for the combined operator □. We prove that the resulting solvers always return sound results and are guaranteed to terminate for monotonic systems whenever only finitely many unknowns are encountered.
Original language | English |
---|---|
Pages (from-to) | 1-24 |
Number of pages | 24 |
Journal | Science of Computer Programming |
Volume | 120 |
DOIs | |
State | Published - 1 May 2016 |
Keywords
- Constraint solving
- Fixpoint iteration
- Static program analysis
- Termination
- Widening and narrowing