kirancodes.me
To Proof Maintenance & Beyond!

Multi-phase invariant synthesis

Daniel Riley, Grigory Fedyukovich

Abstract

Loops with multiple phases are challenging to verify because they require disjunctive invariants. Invariants could also have the form of implication between a precondition for the phase and a lemma that is valid throughout the phase. Such invariant structure is however not widely supported in state-of-the-art verification. We present a novel SMT-based approach to synthesize implication invariants for multi-phase loops. Our technique computes Model Based Projections to discover the program's phases and leverages data learning to get relationships among loop variables at an arbitrary place in the loop. It is effective in the challenging cases of mutually-dependent periodic phases, where many implication invariants need to be discovered simultaneously. Our approach has shown promising results in its ability to verify programs with complex phase structures. We have implemented and evaluated our algorithm against several state-of-the-art solvers.

BibTeX
@inproceedings{Riley-Fedyukovich:FSE22,
  author    = {Daniel Riley and
               Grigory Fedyukovich},
  title     = {Multi-phase invariant synthesis},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {607--619},
  publisher = {{ACM}},
  year      = {2022},
}

Related papers