Abstract
We present a new approach for proving safety properties of reactive systems, based on tight interaction between static analysis, theorem proving and abstraction techniques. The method incrementally constructs a proof or finds a counterexample. Every step consists of applying one of the techniques and makes constructive use of information obtained from failures in previous steps. The amount of user intervention is limited and is highly guided by the system at each step. We demonstrate the method on three simple examples, and show that by using it one can prove more properties than by using each component as a stand-alone.
This research was supported by National Science Foundation grant CCR-9509931. The first author is also supported by a Lavoisier grant of the French Ministry of Foreign Affairs.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill and J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170, 1992.
T. Bultan, R. Greber, and W. Pugh. Symbolic model checking of infinite state systems using Presburger arithmetic. In Proc. of the 9th Conference on Computer-Aided Verification, CAV’ 97, LNCS 1254, pages 400–411.
S. Bensalem and Y. Lakhnech. Automatic generation of invariants. To appear in Formal Methods in System Design.
S. Bensalem, Y. Lakhnech, and S. Owre. Constructing abstractions of infinite state systems compositionally and automatically. In Proc. of the 10th Conference on Computer-Aided Verification, CAV’ 98, LNCS 1427, pages 319–331.
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proc. of the 4th ACM Symposium on Principles of Programming Languages, POPL’ 77, pages 238–252.
C. Cornes, J. Courant, J.-C. Filliâtre, G. Huet, P. Manoury, C. Paulin-Mohring, C. Muñoz, C. Murthy, C. Parent, A. Saïbi, and B. Werner. The Coq Proof Assistant Reference Manual Version 6.1. Technical Report RT-0203, INRIA, July 1997.
M. E. Colòn and T. E. Uribe. Generating finite-state abstractions of reactive systems using decision procedures. In Proc. of the 10th Conference on Computer-Aided Verification, CAV’ 98, LNCS 1427, pages 293–304.
D. Dams, R. Gerth and O. Grümberg. Abstract interpretation of reactive systems. ACM Transactions in Programming Languages and Systems, 19(2):253–291, 1997.
M. Gordon and T. F. Melham. Introduction to the HOL system. Cambridge University press, 1994.
S. Graf and H. Saidi. Verifying invariants using theorem proving. In Proc. of the 8th Conference on Computer-Aided Verification, CAV’ 96, LNCS 1102, pages 196–207.
S. Graf and H. Saidi. Construction of abstract state graphs with PVS. In Proc. of the 9th Conference on Computer-Aided Verification, CAV’ 97, LNCS 1254, pages 72–83.
G. J. Holzmann. Design and validation of communication protocols. Prentice Hall, 1991.
N. Halbwachs, Y. E. Proy, and P. Roumanoff. Verification of real-time systems using linear relation analysis. Formal Methods in System Design, 11(2):157–185, 1997.
K. Havelund and N. Shankar. Experiments in theorem proving and model checking for protocol verification. In Formal Methods Europe, FME’ 96, LNCS 1051, pages 662–681.
K. G. Larsen, P. Petersson, and W. Yi. Uppaal: Status &Developments. In Proc. of the 9th Conference on Computer-Aided Verification, CAV’ 97, LNCS 1254, pages 456–459.
S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal verification for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, 1995.
H. B. Sipma, T. E. Uribe, and Z. Manna. Deductive model checking. In Proc. of the 8th Conference on Computer-Aided Verification, CAV’ 96, LNCS 1102, pages 208–219.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rusu, V., Singerman, E. (1999). On Proving Safety Properties by Integrating Static Analysis, Theorem Proving and Abstraction. In: Cleaveland, W.R. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 1999. Lecture Notes in Computer Science, vol 1579. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49059-0_13
Download citation
DOI: https://doi.org/10.1007/3-540-49059-0_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65703-3
Online ISBN: 978-3-540-49059-3
eBook Packages: Springer Book Archive