Abstract
We present Assume-Guarantee-Repair (AGR) – a novel framework which not only verifies that a program satisfies a set of properties, but also repairs the program in case the verification fails. We consider communicating programs – these are simple C-like programs, extended with synchronous communication 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 specification, or alters the system in a way that brings it closer to satisfying the specification. We manage handling infinite-state systems by using a finite abstract representation, and reduce the semantic problems in hand – satisfying complex specifications that also contain first-order constraints – to syntactic ones, namely membership and equivalence queries for regular languages. We implemented our algorithm and evaluated it on various examples. Our experiments present compact proofs of correctness and quick repairs.
This research was partially supported by the Technion Hiroshi Fujiwara Cyber Security Research Center, the Israel National Cyber Directorate and the Israel Science Foundation (ISF)
Chapter PDF
Similar content being viewed by others
References
https://www.dropbox.com/sh/oi1joxvjuv5p3ag/AACOMDB6wGevkFogilQUyfXqa?dl=0.
A. Albarghouthi, I. Dillig, and A. Gurfinkel. Maximal specification synthesis. In POPL, 2016.
B. Alpern, M. N. Wegman, and F. K. Zadeck. Detecting equality of variables in programs. In POPL, 1988.
D. Angluin. Learning regular sets from queries and counterexamples. Inf. Comput., 75(2):87–106, 1987.
S. Chaki and O. Strichman. Optimized l*-based assume-guarantee reasoning. In TACAS, 2007.
Y.-F. Chen, E. M. Clarke, A. Farzan, M.-H. Tsai, Y.-K. Tsay, and B.-Y. Wang. Automated assume-guarantee reasoning through implicit learning. In CAV, 2010.
Y.-F. Chen, A. Farzan, E. M. Clarke, Y.-K. Tsay, and B.-Y. Wang. Learning minimal separating DFA’s for compositional verification. In TACAS, 2009.
J. M. Cobleigh, D. Giannakopoulou, and C. S. Pasareanu. Learning assumptions for compositional verification. In TACAS, 2003.
L. De Moura and N. Bjørner. Z3: An efficient smt solver. In TACAS, 2008.
I. Dillig and T. Dillig. Explain: A tool for performing abductive inference. In CAV, 2013.
K. A. Elkader, O. Grumberg, C. S. Pasareanu, and S. Shoham. Automated circular assume-guarantee reasoning. In FM, 2015.
K. A. Elkader, O. Grumberg, C. S. Pasareanu, and S. Shoham. Automated circular assume-guarantee reasoning with n-waydecomposition and alphabet refinement. In CAV, 2016.
M. Gheorghiu, D. Giannakopoulou, and C. S. Pasareanu. Refining interface alphabets for compositional verification. In TACAS, 2007.
D. Giannakopoulou, C. S. Pasareanu, and H. Barringer. Assumption generation for software component verification. In ASE. IEEE Computer Society, 2002.
D. Giannakopoulou, C. S. Pasareanu, and H. Barringer. Component verification with automatically generated assumptions. Autom. Softw. Eng., 12(3):297–320, 2005.
A. Gupta, K. L. McMillan, and Z. Fu. Automated assumption generation for compositional verification. Formal Methods in System Design, 32(3):285–301, 2008.
B. Li, I. Dillig, T. Dillig, K. L. McMillan, and M. Sagiv. Synthesis of circular compositional program proofs via abduction. In TACAS, 2013.
S. Lin and P. Hsiung. Compositional synthesis of concurrent systems through causal modelchecking and learning. In FM, 2014.
J. Magee and J. Kramer. Concurrency - state models and Java programs. Wiley, 1999.
K. L. McMillan. Circular compositional reasoning about liveness. In CHARME, 1999.
J. Misra and K. M. Chandy. Proofs of networks of processes. IEEE Trans. Software Eng., 7(4):417–426, 1981.
K. S. Namjoshi and R. J. Trefler. On the competeness of compositional reasoning. In CAV, 2000.
C. S. Pasareanu, D. Giannakopoulou, M. G. Bobaru, J. M. Cobleigh, and H. Barringer. Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning. Formal Methods in System Design, 2008.
C. Peirce and C. Hartshorne. Collected Papers of Charles Sanders Peirce. Belknap Press, 1932.
A. Pnueli. In transition from global to modular temporal reasoning about programs. In Logics and Models of Concurrent Systems, NATO ASI Series,1985.
R. Singh, D. Giannakopoulou, and C. S. Pasareanu. Learning component interfaces with may and must abstractions. In CAV, 2010.
V. Weispfenning. Quantifier elimination and decision procedures for valued fields. Models and Sets. Lecture Notes in Mathematics (LNM), 1103:419—472, 1984
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2020 The Author(s)
About this paper
Cite this paper
Frenkel, H., Grumberg, O., Pasareanu, C., Sheinvald, S. (2020). Assume, Guarantee or Repair. In: Biere, A., Parker, D. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2020. Lecture Notes in Computer Science(), vol 12078. Springer, Cham. https://doi.org/10.1007/978-3-030-45190-5_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-45190-5_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45189-9
Online ISBN: 978-3-030-45190-5
eBook Packages: Computer ScienceComputer Science (R0)