Assume, guarantee or repair: a regular framework for non regular properties
We present Assume-Guarantee-Repair (AGR)—a novel framework which verifies that a program satisfies a set of properties and also repairs the program in case the verification fails. We consider communicating programs —these are simple C-like programs, extended with synchronous actions over communicati...
Gespeichert in:
Veröffentlicht in: | International journal on software tools for technology transfer 2022-10, Vol.24 (5), p.667-689 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | We present Assume-Guarantee-Repair (AGR)—a novel framework which verifies that a program satisfies a set of properties and also
repairs
the program in case the verification fails. We consider
communicating programs
—these are simple C-like programs, extended with synchronous actions over communication channels. Our method, which consists of a learning-based approach to assume–guarantee reasoning, performs verification and repair simultaneously: in every iteration, AGR either makes another step towards proving that the (current) system satisfies the required properties, or alters the system in a way that brings it closer to satisfying the properties. To handle infinite-state systems we build finite abstractions, for which we check the satisfaction of complex properties that contain first-order constraints, using both syntactic and semantic-aware methods. We implemented AGR and evaluated it on various communication protocols. Our experiments present compact proofs of correctness and quick repairs. |
---|---|
ISSN: | 1433-2779 1433-2787 |
DOI: | 10.1007/s10009-022-00669-9 |