Polynomial Analysis of Modular Arithmetic
summary
Proposes the modular polynomial abstract domain (MPAD) whose invariants are polynomial equations modulo 2^k, implements closure via coverings, Groebner bases and null polynomials, and reduces negative guards to positive ones by shifting bits. MPAD satisfies the ascending chain condition, so an SMT-guided iterative algorithm computes best transformer via SMT loop for low bitwidths; prototype handles up to 32-bit examples in under a second on the showcased inverse and bitwise-and cases.
AI-written summary · about
chapters (16)
- 0:00Modular arithmetic analysis
- 1:14Hacker's Delight motivation
- 2:59Modular arithmetic history
- 4:05Negative guards challenges
- 6:33Polynomial systems richness
- 8:00Microcontroller analysis
- 10:11Transformer via SAT solvers
- 12:16Abstract domain construction
- 15:48Groebner bases for systems
- 17:14Program operations analysis
- 18:18Groebner basis fundamentals
- 21:49Covering operation
- 25:50Null polynomials
- 29:19Handling assumptions
- 31:09Contributions and future work
- 32:34Q&A
