Reference. Deductive Verification of Distributed Protocols in First-Order Logic

Formal verification of infinite-state systems, and distributed systems in particular, is a long standing research goal. In the deductive verification approach, the programmer provides inductive invariants and pre/post specifications of procedures, reducing the verification problem to checking validity of logical verification conditions. This check is often performed by automated theorem provers and SMT solvers, substantially increasing productivity in the verification of complex systems. However, the unpredictability of automated provers presents a major hurdle to usability of these tools. This problem is particularly acute in case of provers that handle undecidable logics, for example, first-order logic with quantifiers and theories such as arithmetic. The resulting extreme sensitivity to minor changes has a strong negative impact on the convergence of the overall proof effort.

Cite

Cite as @padonDeductiveVerificationDistributed2018 (helia, typst) · \cite{padonDeductiveVerificationDistributed2018} (LaTeX)
BibTeX
bibtex · 15 lines
@inproceedings{padonDeductiveVerificationDistributed2018,
 title = {Deductive {{Verification}} of {{Distributed Protocols}} in {{First-Order Logic}}},
 author = {Padon, Oded},
 date = {2018-10},
 isbn = {978-0-9835678-8-2},
 doi = {10.23919/FMCAD.2018.8603010},
 url = {https://ieeexplore.ieee.org/document/8603010/},
 urldate = {2023-02-07},
 booktitle = {2018 {{Formal Methods}} in {{Computer Aided Design}} ({{FMCAD}})},
 pages = {1--1},
 publisher = {IEEE},
 langid = {english},
 eventtitle = {2018 {{Formal Methods}} in {{Computer Aided Design}} ({{FMCAD}})},
 location = {Austin, TX}
}
hayagriva YAML (typst)
yaml · 21 lines
padonDeductiveVerificationDistributed2018:
  type: article
  title: Deductive {Verification} of {Distributed Protocols} in {First-Order Logic}
  author: Padon, Oded
  date: 2018-10
  page-range: '1'
  url:
    value: https://ieeexplore.ieee.org/document/8603010/
    date: 2023-02-07
  serial-number:
    doi: 10.23919/FMCAD.2018.8603010
    isbn: 978-0-9835678-8-2
  language: en-US
  parent:
  - type: proceedings
    title: 2018 {Formal Methods} in {Computer Aided Design} ({FMCAD})
    publisher:
      name: IEEE
      location: Austin, TX
  - type: conference
    title: 2018 {Formal Methods} in {Computer Aided Design} ({FMCAD})
Cited by (1)

Deductive Verification in Decidable Fragments with Ivy mcmillanDeductiveVerificationDecidable2018

This paper surveys the work to date on Ivy, a language and a tool for the formal specification and verification of distributed systems. Ivy supports deductive verification using automated provers, model checking, automated testing, manual theorem proving and generation of executable code. In order to achieve greater verification productivity, a key design goal for Ivy is to allow the engineer to apply automated provers in the realm in which their performance is relatively predictable, stable and transparent. In particular Ivy focuses on the use of decidable fragments of first-order logic. We consider the rationale or Ivy’s design, the various capabilities of the tool, as well as case studies and applications.
DOI · pldb
Cites 8 works (3 here)
With notes (3)

Deductive Verification in Decidable Fragments with Ivy mcmillanDeductiveVerificationDecidable2018

This paper surveys the work to date on Ivy, a language and a tool for the formal specification and verification of distributed systems. Ivy supports deductive verification using automated provers, model checking, automated testing, manual theorem proving and generation of executable code. In order to achieve greater verification productivity, a key design goal for Ivy is to allow the engineer to apply automated provers in the realm in which their performance is relatively predictable, stable and transparent. In particular Ivy focuses on the use of decidable fragments of first-order logic. We consider the rationale or Ivy’s design, the various capabilities of the tool, as well as case studies and applications.
DOI · pldb

Ivy: Safety verification by interactive generalization padonIvySafetyVerification

Despite several decades of research, the problem of formal verification of infinite-state systems has resisted effective automation. We describe a system — Ivy — for interactively verifying safety of infinite-state systems. Ivy’s key principle is that whenever verification fails, Ivy graphically displays a concrete counterexample to induction. The user then interactively guides generalization from this counterexample. This process continues until an inductive invariant is found. Ivy searches for universally quantified invariants, and uses a restricted modeling language. This ensures that all verification conditions can be checked algorithmically. All user interactions are performed using graphical models, easing the user’s task. We describe our initial experience with verifying several distributed protocols.
PDF · DOI · pldb

Decidability of inferring inductive invariants padonDecidabilityInferringInductive2016

Induction is a successful approach for verification of hardware and software systems. A common practice is to model a system using logical formulas, and then use a decision procedure to verify that some logical formula is an inductive safety invariant for the system. A key ingredient in this approach is coming up with the inductive invariant, which is known as invariant inference. This is a major difficulty, and it is often left for humans or addressed by sound but incomplete abstract interpretation. This paper is motivated by the problem of inductive invariants in shape analysis and in distributed protocols. This paper approaches the general problem of inferring first-order inductive invariants by restricting the language L of candidate invariants. Notice that the problem of invariant inference in a restricted language L differs from the safety problem, since a system may be safe and still not have any inductive invariant in L that proves safety. Clearly, if L is finite (and if testing an inductive invariant is decidable), then inferring invariants in L is decidable. This paper presents some interesting cases when inferring inductive invariants in L is decidable even when L is an infinite language of universal formulas. Decidability is obtained by restricting L and defining a suitable well-quasi-order on the state space. We also present some undecidability results that show that our restrictions are necessary. We further present a framework for systematically constructing infinite languages while keeping the invariant inference problem decidable. We illustrate our approach by showing the decidability of inferring invariants for programs manipulating linked-lists, and for distributed protocols.
PDF · DOI · pldb
padonDeductiveVerificationDistributed2018 reference entries/refs/padonDeductiveVerificationDistributed2018/padonDeductiveVerificationDistributed2018.hel