Download PDFOpen PDF in browser

Collaborative Inference of Combined Invariants

18 pagesPublished: June 3, 2023

Abstract

Inductive invariant inference is the fundamental problem in program verification, and specifically in verification of functional programs that use nonlinear recursion and algebraic data types (ADTs). For ADTs, it is challenging to come up with an abstract domain that is rich enough to represent program properties and a procedure for invariant inference which is effective for this domain. Although there are various techniques for different abstract domains for ADTs, they often diverge while analyzing real-life programs because of low expressivity of their abstract domains. Moreover, it is often unclear if they could comple- ment each other, other than by running in a portfolio. We present a lightweight approach to combining any existing techniques for different abstract domains collaboratively, thus targeting a more expressive domain. We instantiate the approach and obtain an effective inductive invariant inference algorithm in a rich combined domain of elementary and reg- ular ADT invariants essentially for free. Because of the richer domain, collaborations of verifiers are capable of solving problems that are beyond the capabilities of the collabora- tors running independently. Our implementation of the algorithm is a collaboration of two existing state-of-the-art inductive invariant inference engines having general-purpose first- order logic solvers as a backend. Finally, we show that our implementation is capable of solving a large amount of CHC-Comp 2022 problems obtained from Haskell verification problems, for which the existing tools diverge.

Keyphrases: algebraic data types, cegar, collaborative inference, constrained horn clauses, inductive invariants

In: Ruzica Piskac and Andrei Voronkov (editors). Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 94, pages 288-305.

BibTeX entry
@inproceedings{LPAR2023:Collaborative_Inference_Combined_Invariants,
  author    = {Yurii Kostyukov and Dmitry Mordvinov and Grigory Fedyukovich},
  title     = {Collaborative Inference of Combined Invariants},
  booktitle = {Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Ruzica Piskac and Andrei Voronkov},
  series    = {EPiC Series in Computing},
  volume    = {94},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/GRNG},
  doi       = {10.29007/kv72},
  pages     = {288-305},
  year      = {2023}}
Download PDFOpen PDF in browser