Machine-Checked Proofs For Realizability Checking Algorithms
Andreas Katis, Andrew Gacek, Michael W. Whalen

TL;DR
This paper presents a formal, machine-checked proof of a realizability checking algorithm for assume/guarantee contracts, enhancing confidence in system safety verification for complex embedded systems.
Contribution
It provides the first machine-checked formalization of a realizability algorithm, identifying and correcting errors in previous informal proofs.
Findings
Discovered small mistakes in previous reasoning during formalization
Confirmed the soundness of the realizability algorithm through formal proof
Enhanced confidence in the correctness of safety verification methods
Abstract
Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate architectural descriptions, assume/guarantee contracts, and compositional reasoning rules, these techniques can be used to prove important safety properties about the architecture prior to system construction. For these proofs to be meaningful, each leaf-level component contract must be realizable; i.e., it is possible to construct a component such that for any input allowed by the contract assumptions, there is some output value that the component can produce that satisfies the contract guarantees. We have recently proposed (in [1]) a contract-based realizability checking algorithm for assume/guarantee contracts over infinite theories supported by SMT solvers…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Embedded Systems Design Techniques
