Invariant Relations: A Bridge from Programs to Equations
Wided Ghardallou, Hessamaldin Mohammadi, Elijah Brick, Ali Mili

TL;DR
This paper introduces a relations-based approach using invariant relations to derive the functions of complex C-like programs with nested loops, overcoming limitations of traditional unrolling methods.
Contribution
It presents a novel method that captures loop semantics through invariant relations, enabling the derivation of program functions with arbitrary nested loops.
Findings
Successfully derives functions for programs with nested loops
Overcomes limitations of loop unrolling techniques
Provides a formal framework for program semantics analysis
Abstract
Great advances in program analysis would be enabled if it were possible to derive the function of a program from inputs to outputs (or from initial states to final states, depending on how we model program semantics). Efforts to do so have always stalled against the difficulty to derive the function of loops; the expedient solution to capture the function of loops by unrolling them an arbitrary number of iterations is clearly inadequate. In this paper, we propose a relations-based method to derive the function of a C-like program, including programs that have loops nested to an arbitrary level. To capture the semantics of loops, we use the concept of invariant relation.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Software Engineering Research
