Papers
Topics
Authors
Recent
2000 character limit reached

Axe 'Em: Eliminating Spurious States with Induction Axioms (2410.18671v2)

Published 24 Oct 2024 in cs.PL and cs.LO

Abstract: First-order logic (FOL) has proved to be a versatile and expressive tool as the basis of abstract modeling languages. Used to verify complex systems with unbounded domains, such as heap-manipulating programs and distributed protocols, FOL, and specifically uninterpreted functions and quantifiers, strike a balance between expressiveness and amenity to automation. However, FOL semantics may differ in important ways from the intended semantics of the modeled system, due to the inability to distinguish between finite and infinite first-order structures, for example, or the undefinability of well-founded relations in FOL. This semantic gap may give rise to spurious states and unreal behaviors, which only exist as an artifact of the first-order abstraction and impede the verification process. In this paper we take a step towards bridging this semantic gap. We present an approach for soundly refining the first-order abstraction according to either well-founded semantics or finite-domain semantics, utilizing induction axioms for an abstract order relation, a common primitive in verification. We first formalize sound axiom schemata for each of the aforementioned semantics, based on well-founded induction. Second, we show how to use spurious counter-models, which are necessarily infinite, to guide the instantiation of these axiom schemata. Finally, we present a sound and complete reduction of well-founded semantics and finite-domain semantics to standard semantics in the recently discovered Ordered Self-Cycle (OSC) fragment of FOL, and prove that satisfiability under these semantics is decidable in OSC. We implement a prototype tool to evaluate our approach, and test it on various examples where spurious models arise. Our tool quickly finds the necessary axioms to refine the semantics, and successfully completes the verification process.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (58)
  1. VeriCon: towards verifying controller programs in software-defined networks. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, Edinburgh, United Kingdom - June 09 - 11, 2014, Michael F. P. O’Boyle and Keshav Pingali (Eds.). ACM, 282–293. https://doi.org/10.1145/2594291.2594317
  2. cvc5: A Versatile and Industrial-Strength SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I (Lecture Notes in Computer Science, Vol. 13243), Dana Fisman and Grigore Rosu (Eds.). Springer, 415–442. https://doi.org/10.1007/978-3-030-99524-9_24
  3. The SMT-LIB Standard: Version 2.6. Technical Report. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org.
  4. A decision procedure for satisfiability in separation logic with inductive predicates. In Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS ’14, Vienna, Austria, July 14 - 18, 2014, Thomas A. Henzinger and Dale Miller (Eds.). ACM, 25:1–25:10. https://doi.org/10.1145/2603088.2603091
  5. J Richard Büchi. 1990. On a decision method in restricted second order arithmetic. In The collected works of J. Richard Büchi. Springer, 425–435. https://doi.org/10.1007/978-1-4613-8928-6_23
  6. J. Richard Büchi and Lawrence H. Landweber. 1969. Definability in the Monadic Second-Order Theory of Successor. J. Symb. Log. 34, 2 (1969), 166–170. https://doi.org/10.2307/2271090
  7. Towards a unified proof framework for automated fixpoint reasoning using matching logic. Proc. ACM Program. Lang. 4, OOPSLA (2020), 161:1–161:29. https://doi.org/10.1145/3428229
  8. Automating Inductive Proofs Using Theory Exploration. In Automated Deduction - CADE-24 - 24th International Conference on Automated Deduction, Lake Placid, NY, USA, June 9-14, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 7898), Maria Paola Bonacina (Ed.). Springer, 392–406. https://doi.org/10.1007/978-3-642-38574-2_27
  9. David C Cooper. 1972. Theorem proving in arithmetic without multiplication. Machine intelligence 7, 91-99 (1972), 300. https://doi.org/10.1007/10930755_5
  10. Daniel Danielski and Emanuel Kieronski. 2019. Finite Satisfiability of Unary Negation Fragment with Transitivity. In MFCS (LIPIcs, Vol. 138). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 17:1–17:15. https://doi.org/10.4230/LIPIcs.MFCS.2019.17
  11. Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: An Efficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings (Lecture Notes in Computer Science, Vol. 4963), C. R. Ramakrishnan and Jakob Rehof (Eds.). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
  12. Edsger W. Dijkstra. 1974. Self-stabilizing Systems in Spite of Distributed Control. Commun. ACM 17, 11 (1974), 643–644. https://doi.org/10.1145/361179.361202
  13. The Elementary Theory of Well-Ordering—A Metamathematical Study—. In Studies in Logic and the Foundations of Mathematics. Vol. 96. Elsevier, 1–54.
  14. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification. CoRR abs/2310.16762 (2023). https://doi.org/10.48550/ARXIV.2310.16762 arXiv:2310.16762
  15. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification. Proc. ACM Program. Lang. 8, POPL (2024), 970–1000. https://doi.org/10.1145/3632875
  16. Neta Elad and Sharon Shoham. [n. d.]. Axe ’Em: Eliminating Spurious States with Induction Axioms (Artifact). https://doi.org/10.5281/zenodo.13912208
  17. Neta Elad and Sharon Shoham. 2024. Axe ’Em: Eliminating Spurious States with Induction Axioms (Artifact). https://doi.org/10.5281/zenodo.13912279
  18. Bounded Quantifier Instantiation for Checking Inductive Invariants. In TACAS (1) (Lecture Notes in Computer Science, Vol. 10205). 76–95. https://doi.org/10.1007/978-3-662-54577-5_5
  19. Aman Goel and Karem A. Sakallah. 2021. Towards an Automatic Proof of Lamport’s Paxos. In FMCAD. IEEE, 112–122. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_20
  20. Induction with Generalization in Superposition Reasoning. In Intelligent Computer Mathematics - 13th International Conference, CICM 2020, Bertinoro, Italy, July 26-31, 2020, Proceedings (Lecture Notes in Computer Science, Vol. 12236), Christoph Benzmüller and Bruce R. Miller (Eds.). Springer, 123–137. https://doi.org/10.1007/978-3-030-53518-6_8
  21. Induction with Recursive Definitions in Superposition. In FMCAD. IEEE, 1–10. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_34
  22. Son Ho and Clément Pit-Claudel. 2024. Incremental Proof Development in Dafny with Module-Based Induction. CoRR abs/2401.16233 (2024). https://doi.org/10.48550/ARXIV.2401.16233 arXiv:2401.16233
  23. Matthias Horbach and Viorica Sofronie-Stokkermans. 2013. Obtaining Finite Local Theory Axiomatizations via Saturation. In Frontiers of Combining Systems - 9th International Symposium, FroCoS 2013, Nancy, France, September 18-20, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 8152), Pascal Fontaine, Christophe Ringeissen, and Renate A. Schmidt (Eds.). Springer, 198–213. https://doi.org/10.1007/978-3-642-40885-4_14
  24. Integer Induction in Saturation. In CADE (Lecture Notes in Computer Science, Vol. 12699). Springer, 361–377. https://doi.org/10.1007/978-3-030-79876-5_21
  25. Theory Refinement for Program Verification. In Theory and Applications of Satisfiability Testing - SAT 2017 - 20th International Conference, Melbourne, VIC, Australia, August 28 - September 1, 2017, Proceedings (Lecture Notes in Computer Science, Vol. 10491), Serge Gaspers and Toby Walsh (Eds.). Springer, 347–363. https://doi.org/10.1007/978-3-319-66263-3_22
  26. Modular reasoning about heap paths via effectively propositional formulas. In The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’14, San Diego, CA, USA, January 20-21, 2014, Suresh Jagannathan and Peter Sewell (Eds.). ACM, 385–396. https://doi.org/10.1145/2535838.2535854
  27. Effectively-Propositional Reasoning about Reachability in Linked Data Structures. In CAV (Lecture Notes in Computer Science, Vol. 8044). Springer, 756–772. https://doi.org/10.1007/978-3-642-39799-8_53
  28. Emil Jerábek. 2024. A note on the theory of well orders. CoRR abs/2405.05779 (2024). https://doi.org/10.48550/ARXIV.2405.05779 arXiv:2405.05779
  29. Solving constrained Horn clauses modulo algebraic data types and recursive functions. Proc. ACM Program. Lang. 6, POPL (2022), 1–29. https://doi.org/10.1145/3498722
  30. Effective Entailment Checking for Separation Logic with Inductive Definitions. In Tools and Algorithms for the Construction and Analysis of Systems - 25th International Conference, TACAS 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6-11, 2019, Proceedings, Part II (Lecture Notes in Computer Science, Vol. 11428), Tomás Vojnar and Lijun Zhang (Eds.). Springer, 319–336. https://doi.org/10.1007/978-3-030-17465-1_18
  31. Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. In Formal Methods in Computer-Aided Design, FMCAD 2015, Austin, Texas, USA, September 27-30, 2015, Roope Kaivola and Thomas Wahl (Eds.). IEEE, 89–96. https://doi.org/10.1109/FMCAD.2015.7542257
  32. SMT-Based Model Checking for Recursive Programs. In Computer Aided Verification - 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18-22, 2014. Proceedings (Lecture Notes in Computer Science, Vol. 8559), Armin Biere and Roderick Bloem (Eds.). Springer, 17–34. https://doi.org/10.1007/978-3-319-08867-9_2
  33. Shuvendu K. Lahiri and Shaz Qadeer. 2006. Verifying properties of well-founded linked lists. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, January 11-13, 2006, J. Gregory Morrisett and Simon L. Peyton Jones (Eds.). ACM, 115–126. https://doi.org/10.1145/1111037.1111048
  34. Shuvendu K Lahiri and Shaz Qadeer. 2007. A decision procedure for well-founded reachability. Technical Report. Technical Report MSR-TR-2007-43, Microsoft Research.
  35. Shuvendu K. Lahiri and Shaz Qadeer. 2008. Back to the future: revisiting precise program verification using SMT solvers. In Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7-12, 2008, George C. Necula and Philip Wadler (Eds.). ACM, 171–182. https://doi.org/10.1145/1328438.1328461
  36. Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst. 16, 2 (1998), 133–169. https://doi.org/10.1145/279227.279229
  37. K. Rustan M. Leino. 2010. Dafny: An Automatic Program Verifier for Functional Correctness. In Logic for Programming, Artificial Intelligence, and Reasoning - 16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1, 2010, Revised Selected Papers (Lecture Notes in Computer Science, Vol. 6355), Edmund M. Clarke and Andrei Voronkov (Eds.). Springer, 348–370. https://doi.org/10.1007/978-3-642-17511-4_20
  38. K. Rustan M. Leino. 2012. Automating Induction with an SMT Solver. In Verification, Model Checking, and Abstract Interpretation - 13th International Conference, VMCAI 2012, Philadelphia, PA, USA, January 22-24, 2012. Proceedings (Lecture Notes in Computer Science, Vol. 7148), Viktor Kuncak and Andrey Rybalchenko (Eds.). Springer, 315–331. https://doi.org/10.1007/978-3-642-27940-9_21
  39. Harry R. Lewis. 1980. Complexity Results for Classes of Quantificational Formulas. J. Comput. Syst. Sci. 21, 3 (1980), 317–353. https://doi.org/10.1016/0022-0000(80)90027-6
  40. Foundations for natural proofs and quantifier instantiation. Proc. ACM Program. Lang. 2, POPL (2018), 10:1–10:30. https://doi.org/10.1145/3158098
  41. Kenneth L. McMillan and Oded Padon. 2018. Deductive Verification in Decidable Fragments with Ivy. In SAS (Lecture Notes in Computer Science, Vol. 11002). Springer, 43–55. https://doi.org/10.1007/978-3-319-99725-4_4
  42. Model-guided synthesis of inductive lemmas for FOL with least fixpoints. Proc. ACM Program. Lang. 6, OOPSLA2 (2022), 1873–1902. https://doi.org/10.1145/3563354
  43. Paxos made EPR: decidable reasoning about distributed protocols. Proc. ACM Program. Lang. 1, OOPSLA (2017), 108:1–108:31. https://doi.org/10.1145/3140568
  44. Lawrence C. Paulson. 1994. Isabelle - A Generic Theorem Prover (with a contribution by T. Nipkow). Lecture Notes in Computer Science, Vol. 828. Springer. https://doi.org/10.1007/BFB0030541
  45. Michael O Rabin. 1969. Decidability of second-order theories and automata on infinite trees. Transactions of the american Mathematical Society 141 (1969), 1–35. https://doi.org/10.2307/1995086
  46. Frank P Ramsey. 1930. On a Problem of Formal Logic. Procedures of London Mathematical Society 30 (1930), 264–285. https://doi.org/10.1007/978-0-8176-4842-8_1
  47. Alexandre Riazanov and Andrei Voronkov. 1999. Vampire. In CADE (Lecture Notes in Computer Science, Vol. 1632). Springer, 292–296. https://doi.org/10.1007/3-540-48660-7_26
  48. Johannes Schoisswohl and Laura Kovács. 2021. Automating Induction by Reflection. In LFMTP (EPTCS, Vol. 337). 39–54. https://doi.org/10.4204/EPTCS.337.4
  49. Adrian Segall. 1983. Distributed network protocols. IEEE Trans. Inf. Theory 29, 1 (1983), 23–34. https://doi.org/10.1109/TIT.1983.1056620
  50. Saharon Shelah. 1977. Decidability of a portion of the predicate calculus. Israel Journal of Mathematics 28, 1 (1977), 32–44. https://doi.org/10.1007/BF02759780
  51. Reasoning About Vectors Using an SMT Theory of Sequences. In Automated Reasoning - 11th International Joint Conference, IJCAR 2022, Haifa, Israel, August 8-10, 2022, Proceedings (Lecture Notes in Computer Science, Vol. 13385), Jasmin Blanchette, Laura Kovács, and Dirk Pattinson (Eds.). Springer, 125–143. https://doi.org/10.1007/978-3-031-10769-6_9
  52. Modularity for decidability of deductive verification with applications to distributed systems. In PLDI. ACM, 662–677. https://doi.org/10.1145/3192366.3192414
  53. The Coq Development Team. 2024. The Coq Proof Assistant. https://doi.org/10.5281/zenodo.11551307
  54. The Open Logic Project. [n. d.]. Frame Definability. https://builds.openlogicproject.org/content/normal-modal-logic/frame-definability/frame-definability.pdf
  55. Guido Van Rossum and Fred L. Drake. 2009. Python 3 Reference Manual. CreateSpace, Scotts Valley, CA. https://doi.org/10.5555/1593511
  56. DuoAI: Fast, Automated Inference of Inductive Invariants for Verifying Distributed Protocols. In 16th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2022, Carlsbad, CA, USA, July 11-13, 2022, Marcos K. Aguilera and Hakim Weatherspoon (Eds.). USENIX Association, 485–501. https://www.usenix.org/conference/osdi22/presentation/yao
  57. DistAI: Data-Driven Automated Invariant Learning for Distributed Protocols. In OSDI. USENIX Association, 405–421.
  58. Solving Constrained Horn Clauses over Algebraic Data Types. 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, 341–365. https://doi.org/10.1007/978-3-031-24950-1_16
Citations (1)

Summary

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

Whiteboard

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Authors (2)

Collections

Sign up for free to add this paper to one or more collections.