Integrating SMT solvers in Rodin

Formal development in Event-B generally requires the validation of a large number of proof obligations. Some tools automatically discharge a significant part of them, thus augmenting the efficiency of the formal development. We here investigate the use of SMT (Satisfiability Modulo Theories) solvers...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 94; pp. 130 - 143
Main Authors: Déharbe, David, Fontaine, Pascal, Guyot, Yoann, Voisin, Laurent
Format: Journal Article
Language:English
Published: Elsevier B.V 15-11-2014
Elsevier
Series:Abstract State Machines, Alloy, B, VDM, and Z — Selected and extended papers from ABZ 2012
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Formal development in Event-B generally requires the validation of a large number of proof obligations. Some tools automatically discharge a significant part of them, thus augmenting the efficiency of the formal development. We here investigate the use of SMT (Satisfiability Modulo Theories) solvers in addition to the traditional tools, and detail the techniques used for the cooperation between the Rodin platform and SMT solvers. Our contribution is the definition of a translation of Event-B proof obligations to the language of SMT solvers, its implementation in a Rodin plug-in, and an experimental evaluation on a large sample of industrial and academic projects. On this domain, adding SMT solvers to Atelier B provers reduces significantly the number of sequents that need to be proved interactively.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2014.04.012