Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Watch a 25-minute conference presentation from POPL 2018 exploring innovative techniques for generating non-linear loop invariants in program analysis. Learn about a novel method that bridges computer algebra's recurrence-solving capabilities with practical program analysis needs, addressing challenges like conditional branches and nested loops. Discover how researchers from Princeton University and University of Wisconsin-Madison developed an abstract domain for non-linear arithmetic reasoning, a semantics-based approach for extracting recurrence relations from loop bodies, and a specialized recurrence solver that avoids complex/irrational numbers. See how this technique can be applied to assertion-checking and resource-bound generation in general loops and mutually recursive procedures, demonstrated through experimental results that validate its effectiveness.