Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
169 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Invariant Checking for SMT-based Systems with Quantifiers (2402.19028v1)

Published 29 Feb 2024 in cs.LO

Abstract: This paper addresses the problem of checking invariant properties for a large class of symbolic transition systems, defined by a combination of SMT theories and quantifiers. State variables can be functions from an uninterpreted sort (finite, but unbounded) to an interpreted sort, such as the the integers under the theory of linear arithmetic. This formalism is very expressive and can be used for modeling parameterized systems, array-manipulating programs, and more. We propose two algorithms for finding universal inductive invariants for such systems. The first algorithm combines an IC3-style loop with a form of implicit predicate abstraction to construct an invariant in an incremental manner. The second algorithm constructs an under-approximation of the original problem, and searches for a formula which is an inductive invariant for this case; then, the invariant is generalized to the original case, and checked with a portfolio of techniques. We have implemented the two algorithms and conducted an extensive experimental evaluation, considering various benchmarks and different tools from the literature. As far as we know, our method is the first capable of handling in a large class of systems in a uniform way. The experiment shows that both algorithms are competitive with the state of the art.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (52)
  1. Universal guards, relativization of quantifiers, and failure models in model checking modulo theories. Journal on Satisfiability, Boolean Modeling and Computation 8 (2012), 29–61.
  2. A Model-Based Approach to the Design, Verification and Deployment of Railway Interlocking System. In ISoLA 2020, Rhodes, Greece, October 20-30, 2020, Proceedings, Part III (Lecture Notes in Computer Science, Vol. 12478). Springer, 240–254.
  3. cvc5: A Versatile and Industrial-Strength SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022 (Lecture Notes in Computer Science, Vol. 13243). Springer, 415–442.
  4. Decidability of Parameterized Verification. Morgan & Claypool Publishers.
  5. Aaron R. Bradley. 2011. SAT-Based Model Checking without Unrolling. In Verification, Model Checking, and Abstract Interpretation, Ranjit Jhala and David Schmidt (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 70–87.
  6. A Formal Verification of ArpON - A Tool for Avoiding Man-in-the-Middle Attacks in Ethernet Networks. IEEE Trans. Dependable Secur. Comput. 19, 6 (2022), 4082–4098.
  7. MCMT in the Land of Parametrized Timed Automata. In VERIFY-2010. 6th International Verification Workshop (EPiC Series in Computing, Vol. 3), Markus Aderhold, Serge Autexier, and Heiko Mantel (Eds.). EasyChair, 47–64.
  8. A Simple Method for Parameterized Verification of Cache Coherence Protocols. In Formal Methods in Computer-Aided Design, Alan J. Hu and Andrew K. Martin (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 382–398.
  9. Infinite-state invariant checking with IC3 and predicate abstraction. Formal Methods Syst. Des. (2016).
  10. Universal Invariant Checking of Parametric Systems with Quantifier-free SMT Reasoning. In CADE 28.
  11. Verification of SMT Systems with Quantifiers. In Automated Technology for Verification and Analysis - 20th International Symposium, ATVA 2022, Virtual Event, October 25-28, 2022, Proceedings (Lecture Notes in Computer Science, Vol. 13505), Ahmed Bouajjani, Lukás Holík, and Zhilin Wu (Eds.). Springer, 154–170.
  12. The MathSAT5 SMT Solver. In TACAS’13 (Rome, Italy) (TACAS’13). Springer-Verlag, Berlin, Heidelberg.
  13. Efficient Generation of Craig Interpolants in Satisfiability modulo Theories. ACM Trans. Comput. Logic 12, 1, Article 7 (nov 2010), 54 pages. https://doi.org/10.1145/1838552.1838559
  14. The VMT-LIB Language and Tools. CoRR abs/2109.12821 (2021). arXiv:2109.12821
  15. Formal Specification and Verification of Dynamic Parametrized Architectures. In FM 2018.
  16. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50, 5 (2003), 752–794. https://doi.org/10.1145/876638.876643
  17. Cubicle: A Parallel SMT-based Model Checker for Parameterized Systems. In CAV 2012.
  18. Invariants for finite instances and beyond. In Formal Methods in Computer-Aided Design, FMCAD 2013.
  19. Leonardo Mendonça de Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In TACAS.
  20. Simplify: a theorem prover for program checking. J. ACM 52, 3 (2005), 365–473.
  21. Michael Dooley and Fabio Somenzi. 2016. Proving Parameterized Systems Safe by Generalizing Clausal Proofs of Small Instances. In CAV 2016.
  22. Bounded Quantifier Instantiation for Checking Inductive Invariants. Log. Methods Comput. Sci. (2019).
  23. Solving Quantified Verification Conditions Using Satisfiability modulo Theories. Annals of Mathematics and Artificial Intelligence (feb 2009), 101–122.
  24. Towards SMT Model Checking of Array-Based Systems. In Automated Reasoning, Alessandro Armando, Peter Baumgartner, and Gilles Dowek (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 67–82.
  25. Silvio Ghilardi and Silvio Ranise. 2010. Backward Reachability of Array-based Systems by SMT solving: Termination and Invariant Synthesis. Log. Methods Comput. Sci. 6, 4 (2010).
  26. Aman Goel and Karem A. Sakallah. 2021a. On Symmetry and Quantification: A New Approach to Verify Distributed Protocols. In NFM 2021.
  27. Aman Goel and Karem A. Sakallah. 2021b. Towards an Automatic Proof of Lamport’s Paxos. In FMCAD 2021. IEEE, 112–122.
  28. SMT-Based Verification of Parameterized Systems. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Seattle, WA, USA) (FSE 2016). Association for Computing Machinery, New York, NY, USA, 338–348.
  29. Finding Invariants of Distributed Systems: It’s a Small (Enough) World After All. In NSDI 2021. USENIX Association, 115–131.
  30. Small inductive safe invariants. In Formal Methods in Computer-Aided Design, FMCAD 2014, Lausanne, Switzerland, October 21-24, 2014. IEEE, 115–122.
  31. Property-Directed Inference of Universal Invariants or Proving Their Absence. In Computer Aided Verification, Daniel Kroening and Corina S. Păsăreanu (Eds.).
  32. First-order quantified separators. In PLDI.
  33. Laura Kovács and Andrei Voronkov. 2013. First-Order Theorem Proving and Vampire. In CAV 2013,.
  34. Sava Krstic. 2005. Parametrized System Verification with Guard Strengthening and Parameter Abstraction.
  35. Predicate Abstraction via Symbolic Decision Procedures. In Computer Aided Verification, 17th International Conference, CAV 2005, Edinburgh, Scotland, UK, July 6-10, 2005, Proceedings (Lecture Notes in Computer Science, Vol. 3576), Kousha Etessami and Sriram K. Rajamani (Eds.). Springer, 24–38. https://doi.org/10.1007/11513988_5
  36. Shuvendu K. Lahiri and Randal E. Bryant. 2007. Predicate Abstraction with Indexed Predicates. ACM Trans. Comput. Logic 9, 1 (dec 2007), 4–es.
  37. SMT Techniques for Fast Predicate Abstraction. In Computer Aided Verification, Thomas Ball and Robert B. Jones (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 424–437.
  38. An Automatic Proving Approach to Parameterized Verification. ACM Trans. Comput. Logic, Article 27 (Nov. 2018), 25 pages.
  39. I4: Incremental Inference of Inductive Invariants for Verification of Distributed Protocols. In SOSP ’19 (Huntsville, Ontario, Canada). 15 pages.
  40. Counterexample-Guided Prophecy for Model Checking Modulo the Theory of Arrays. CoRR abs/2101.06825 (2021).
  41. Kenneth L. McMillan. 2006. Lazy Abstraction with Interpolants. In Computer Aided Verification, Thomas Ball and Robert B. Jones (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 123–136.
  42. Kenneth L. McMillan. 2018. Eager Abstraction for Symbolic Model Checking. In Computer Aided Verification, Hana Chockler and Georg Weissenbacher (Eds.). Springer International Publishing, Cham, 191–208.
  43. Oded Padon. 2018. Deductive Verification of Distributed Protocols in First-Order Logic. In 2018 Formal Methods in Computer Aided Design (FMCAD). 1–1.
  44. Decidability of Inferring Inductive Invariants. SIGPLAN Not. 51, 1 (jan 2016), 217–231.
  45. Ivy: Safety Verification by Interactive Generalization. SIGPLAN Not. 51, 6 (June 2016), 614–630.
  46. Induction Duality: Primal-Dual Search for Invariants. POPL 6, POPL (2022).
  47. Automatic Deductive Verification with Invisible Invariants. In TACAS.
  48. Andrew Reynolds. 2017. Quantifier Instantiation Beyond E-Matching. In (CAV 2017), Martin Brain and Liana Hadarean (Eds.).
  49. M. Talupur and M. R. Tuttle. 2008. Going with the Flow: Parameterized Verification Using Message Flows. In 2008 Formal Methods in Computer-Aided Design. 1–8.
  50. Stefano Tonetta. 2009. Abstract Model Checking without Computing the Abstraction. In FM 2009: Formal Methods, Ana Cavalcanti and Dennis R. Dams (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 89–105.
  51. Cole Vick and Kenneth L. McMillan. 2023. Synthesizing History and Prophecy Variables for Symbolic Model Checking. In Verification, Model Checking, and Abstract Interpretation - 24th International Conference, VMCAI 2023, Boston, MA, USA, January 16-17, 2023, Proceedings (Lecture Notes in Computer Science, Vol. 13881), Cezara Dragoi, Michael Emmi, and Jingbo Wang (Eds.). Springer, 320–340.
  52. DistAI: Data-Driven Automated Invariant Learning for Distributed Protocols. In (OSDI 21).
Citations (1)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com