## Abstract

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 firstorder 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.

Original language | English |
---|---|

Title of host publication | POPL '16 |

Subtitle of host publication | Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages |

Editors | Rupak Majumdar, Rastislav Bodik |

Publisher | Association for Computing Machinery (ACM) |

Pages | 217-231 |

Number of pages | 15 |

ISBN (Electronic) | 9781450335492 |

DOIs | |

State | Published - 11 Jan 2016 |

Event | 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016 - St. Petersburg, United States Duration: 20 Jan 2016 → 22 Jan 2016 |

### Publication series

Name | Conference Record of the Annual ACM Symposium on Principles of Programming Languages |
---|---|

Volume | 20-22-January-2016 |

ISSN (Print) | 0730-8566 |

### Conference

Conference | 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016 |
---|---|

Country/Territory | United States |

City | St. Petersburg |

Period | 20/01/16 → 22/01/16 |

### Funding

Funders | Funder number |
---|---|

National Science Foundation | CCF 1115448 |

Seventh Framework Programme | |

European Research Council | 321174-VSSC |

Israel Science Foundation | 652/11 |

Seventh Framework Programme |

## Keywords

- Effectively propositional logic
- Invariant inference
- Verification
- Well-quasi-order