Abstract
Inferring inductive invariants is one of the main challenges of formal verification. The theory of abstract interpretation provides a rich framework to devise invariant inference algorithms. One of the latest breakthroughs in invariant inference is property-directed reachability (PDR), but the research community views PDR and abstract interpretation as mostly unrelated techniques.
This paper shows that, surprisingly, propositional PDR can be formulated as an abstract interpretation algorithm in a logical domain. More precisely, we define a version of PDR, called Λ-PDR, in which all generalizations of counterexamples are used to strengthen a frame. In this way, there is no need to refine frames after their creation, because all the possible supporting facts are included in advance. We analyze this algorithm using notions from Bshouty’s monotone theory, originally developed in the context of exact learning. We show that there is an inherent overapproximation between the algorithm’s frames that is related to the monotone theory. We then define a new abstract domain in which the best abstract transformer performs this overapproximation, and show that it captures the invariant inference process, i.e., Λ-PDR corresponds to Kleene iterations with the best transformer in this abstract domain. We provide some sufficient conditions for when this process converges in a small number of iterations, with sometimes an exponential gap from the number of iterations required for naive exact forward reachability. These results provide a firm theoretical foundation for the benefits of how PDR tackles forward reachability.
Supplemental Material
- Mohammad Abdulaziz, Michael Norrish, and Charles Gretton. 2018. Formally Verified Algorithms for Upper-Bounding State Space Diameters. J. Autom. Reason., 61, 1-4 (2018), 485–520. https://doi.org/10.1007/s10817-018-9450-z Google Scholar
Digital Library
- Parosh Aziz Abdulla, Giorgio Delzanno, Noomene Ben Henda, and Ahmed Rezine. 2009. Monotonic Abstraction: on Efficient Verification of Parameterized Systems. Int. J. Found. Comput. Sci., 20, 5 (2009), 779–801. https://doi.org/10.1142/S0129054109006887 Google Scholar
Cross Ref
- Aws Albarghouthi, Yi Li, Arie Gurfinkel, and Marsha Chechik. 2012. Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification. In Computer Aided Verification - 24th International Conference, CAV 2012, Berkeley, CA, USA, July 7-13, 2012 Proceedings, P. Madhusudan and Sanjit A. Seshia (Eds.) (Lecture Notes in Computer Science, Vol. 7358). Springer, 672–678. https://doi.org/10.1007/978-3-642-31424-7_48 Google Scholar
Digital Library
- Jason Baumgartner, Andreas Kuehlmann, and Jacob A. Abraham. 2002. Property Checking via Structural Analysis. In Computer Aided Verification, 14th International Conference, CAV 2002,Copenhagen, Denmark, July 27-31, 2002, Proceedings, Ed Brinksma and Kim Guldstrand Larsen (Eds.) (Lecture Notes in Computer Science, Vol. 2404). Springer, 151–165. https://doi.org/10.1007/3-540-45657-0_12 Google Scholar
Cross Ref
- Armin Biere, Alessandro Cimatti, Edmund M. Clarke, Masahiro Fujita, and Yunshan Zhu. 1999. Symbolic Model Checking Using SAT Procedures instead of BDDs. In Proceedings of the 36th Conference on Design Automation, New Orleans, LA, USA, June 21-25, 1999, Mary Jane Irwin (Ed.). ACM Press, 317–320. https://doi.org/10.1145/309847.309942 Google Scholar
Digital Library
- Armin Biere, Alessandro Cimatti, Edmund M. Clarke, and Yunshan Zhu. 1999. Symbolic Model Checking without BDDs. In Tools and Algorithms for Construction and Analysis of Systems, 5th International Conference, TACAS ’99, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS’99, Amsterdam, The Netherlands, March 22-28, 1999, Proceedings. 193–207. https://doi.org/10.1007/3-540-49059-0_14 Google Scholar
Cross Ref
- Nikolaj Bjørner, Arie Gurfinkel, Konstantin Korovin, and Ori Lahav. 2013. Instantiations, Zippers and EPR Interpolation. In LPAR 2013, 19th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, December 12-17, 2013, Stellenbosch, South Africa, Short papers proceedings. 35–41. https://easychair.org/publications/paper/XtNGoogle Scholar
- Aaron R. Bradley. 2011. SAT-Based Model Checking without Unrolling. In Verification, Model Checking, and Abstract Interpretation - 12th International Conference, VMCAI 2011, Austin, TX, USA, January 23-25, 2011. Proceedings. 70–87. https://doi.org/10.1007/978-3-642-18275-4_7 Google Scholar
Cross Ref
- Nader H. Bshouty. 1995. Exact Learning Boolean Function via the Monotone Theory. Inf. Comput., 123, 1 (1995), 146–153. https://doi.org/10.1006/inco.1995.1164 Google Scholar
Digital Library
- Yu-Fang Chen, Edmund M. Clarke, Azadeh Farzan, Ming-Hsien Tsai, Yih-Kuen Tsay, and Bow-Yaw Wang. 2010. Automated Assume-Guarantee Reasoning through Implicit Learning. In Computer Aided Verification, 22nd International Conference, CAV 2010, Edinburgh, UK, July 15-19, 2010. Proceedings. 511–526. https://doi.org/10.1007/978-3-642-14295-6_44 Google Scholar
Digital Library
- Hana Chockler, Alexander Ivrii, and Arie Matsliah. 2012. Computing Interpolants without Proofs. In Hardware and Software: Verification and Testing - 8th International Haifa Verification Conference, HVC 2012, Haifa, Israel, November 6-8, 2012. Revised Selected Papers. 72–85. https://doi.org/10.1007/978-3-642-39611-3_12 Google Scholar
Digital Library
- Edmund M. Clarke and E. Allen Emerson. 1981. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. In Logics of Programs, Workshop, Yorktown Heights, New York, USA, May 1981, Dexter Kozen (Ed.) (Lecture Notes in Computer Science, Vol. 131). Springer, 52–71. https://doi.org/10.1007/BFb0025774 Google Scholar
- Patrick Cousot and Radhia Cousot. 1977. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Conference Record of the Fourth ACM Symposium on Principles of Programming Languages, Los Angeles, California, USA, January 1977. 238–252. https://doi.org/10.1145/512950.512973 Google Scholar
Digital Library
- P. Cousot and R. Cousot. 1979. Systematic Design of Program Analysis Frameworks. In Symp. on Princ. of Prog. Lang.. ACM Press, New York, NY. 269–282.Google Scholar
- Dennis Dams, Rob Gerth, and Orna Grumberg. 1997. Abstract Interpretation of Reactive Systems. ACM Trans. Program. Lang. Syst., 19, 2 (1997), 253–291. https://doi.org/10.1145/244795.244800 Google Scholar
Digital Library
- Vijay D’Silva, Daniel Kroening, and Georg Weissenbacher. 2008. A Survey of Automated Techniques for Formal Software Verification. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst., 27, 7 (2008), 1165–1178. https://doi.org/10.1109/TCAD.2008.923410 Google Scholar
Digital Library
- Niklas Eén, Alan Mishchenko, and Robert K. Brayton. 2011. Efficient implementation of property directed reachability. In International Conference on Formal Methods in Computer-Aided Design, FMCAD ’11, Austin, TX, USA, October 30 - November 02, 2011. 125–134. http://dl.acm.org/citation.cfm?id=2157675Google Scholar
- P. Ezudheen, Daniel Neider, Deepak D’Souza, Pranav Garg, and P. Madhusudan. 2018. Horn-ICE learning for synthesizing invariants and contracts. PACMPL, 2, OOPSLA (2018), 131:1–131:25.Google Scholar
- Harald Fecher and Michael Huth. 2007. More Precise Partition Abstractions. In Verification, Model Checking, and Abstract Interpretation, 8th International Conference, VMCAI 2007, Nice, France, January 14-16, 2007, Proceedings, Byron Cook and Andreas Podelski (Eds.) (Lecture Notes in Computer Science, Vol. 4349). Springer, 167–181. https://doi.org/10.1007/978-3-540-69738-1_12 Google Scholar
Cross Ref
- Yotam M. Y. Feldman, Neil Immerman, Mooly Sagiv, and Sharon Shoham. 2020. Complexity and information in invariant inference. Proc. ACM Program. Lang., 4, POPL (2020), 5:1–5:29. https://doi.org/10.1145/3371073 Google Scholar
Digital Library
- Yotam M. Y. Feldman, Mooly Sagiv, Sharon Shoham, and James R. Wilcox. 2021. Learning the boundary of inductive invariants. Proc. ACM Program. Lang., 5, POPL (2021), 1–30. https://doi.org/10.1145/3434296 Google Scholar
Digital Library
- Yotam M. Y. Feldman, Mooly Sagiv, Sharon Shoham, and James R. Wilcox. 2022. Property-Directed Reachability as Abstract Interpretation in the Monotone Theory. CoRR, arxiv:2111.00324Google Scholar
- Cormac Flanagan and K. Rustan M. Leino. 2001. Houdini, an Annotation Assistant for ESC/Java. In FME 2001: Formal Methods for Increasing Software Productivity, International Symposium of Formal Methods Europe, Berlin, Germany, March 12-16, 2001, Proceedings. 500–517.Google Scholar
Cross Ref
- Cormac Flanagan and Shaz Qadeer. 2002. Predicate abstraction for software verification. In Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, OR, USA, January 16-18, 2002. 191–202. https://doi.org/10.1145/503272.503291 Google Scholar
Digital Library
- Pranav Garg, Christof Löding, P Madhusudan, and Daniel Neider. 2014. ICE: A robust framework for learning invariants. In Computer Aided Verification. 69–87.Google Scholar
- Pranav Garg, Daniel Neider, P. Madhusudan, and Dan Roth. 2016. Learning invariants using decision trees and implication counterexamples. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20 - 22, 2016. 499–512. https://doi.org/10.1145/2837614.2837664 Google Scholar
Digital Library
- Susanne Graf and Hassen Saïdi. 1997. Construction of Abstract State Graphs with PVS. In Computer Aided Verification, 9th International Conference, CAV ’97, Haifa, Israel, June 22-25, 1997, Proceedings. 72–83. https://doi.org/10.1007/3-540-63166-6_10 Google Scholar
Cross Ref
- Sumit Gulwani, Bill McCloskey, and Ashish Tiwari. 2008. Lifting abstract interpreters to quantified logical domains. 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, 235–246. https://doi.org/10.1145/1328438.1328468 Google Scholar
Digital Library
- Arie Gurfinkel and Alexander Ivrii. 2015. Pushing to the Top. In Formal Methods in Computer-Aided Design, FMCAD 2015, Austin, Texas, USA, September 27-30, 2015.. 65–72.Google Scholar
- Arie Gurfinkel and Alexander Ivrii. 2017. K-induction without unrolling. In 2017 Formal Methods in Computer Aided Design, FMCAD 2017, Vienna, Austria, October 2-6, 2017, Daryl Stewart and Georg Weissenbacher (Eds.). IEEE, 148–155. https://doi.org/10.23919/FMCAD.2017.8102253 Google Scholar
Cross Ref
- Arie Gurfinkel, Sharon Shoham, and Yuri Meshman. 2016. SMT-based verification of parameterized systems. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, Seattle, WA, USA, November 13-18, 2016. 338–348. https://doi.org/10.1145/2950290.2950330 Google Scholar
Digital Library
- Johan Håstad. 1986. Almost Optimal Lower Bounds for Small Depth Circuits. In Proceedings of the 18th Annual ACM Symposium on Theory of Computing, May 28-30, 1986, Berkeley, California, USA, Juris Hartmanis (Ed.). ACM, 6–20. https://doi.org/10.1145/12130.12132 Google Scholar
Digital Library
- Edith Hemaspaandra, Lane A. Hemaspaandra, Till Tantau, and Osamu Watanabe. 2010. On the complexity of kings. Theor. Comput. Sci., 411, 4-5 (2010), 783–798. https://doi.org/10.1016/j.tcs.2009.10.015 Google Scholar
Digital Library
- Susmit Jha, Sumit Gulwani, Sanjit A. Seshia, and Ashish Tiwari. 2010. Oracle-guided component-based program synthesis. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, ICSE 2010, Cape Town, South Africa, 1-8 May 2010. 215–224. https://doi.org/10.1145/1806799.1806833 Google Scholar
Digital Library
- Susmit Jha and Sanjit A. Seshia. 2017. A theory of formal synthesis via inductive learning. Acta Inf., 54, 7 (2017), 693–726. https://doi.org/10.1007/s00236-017-0294-5 Google Scholar
Digital Library
- Yungbum Jung, Soonho Kong, Cristina David, Bow-Yaw Wang, and Kwangkeun Yi. 2015. Automatically inferring loop invariants via algorithmic learning. Math. Struct. Comput. Sci., 25, 4 (2015), 892–915. https://doi.org/10.1017/S0960129513000078 Google Scholar
Cross Ref
- Jason R. Koenig, Oded Padon, Neil Immerman, and Alex Aiken. 2020. First-order quantified separators. In Proceedings of the 41st ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2020, London, UK, June 15-20, 2020, Alastair F. Donaldson and Emina Torlak (Eds.). ACM, 703–717. https://doi.org/10.1145/3385412.3386018 Google Scholar
Digital Library
- Igor Konnov, Helmut Veith, and Josef Widder. 2014. On the Completeness of Bounded Model Checking for Threshold-Based Distributed Algorithms: Reachability. In CONCUR 2014 - Concurrency Theory - 25th International Conference, CONCUR 2014, Rome, Italy, September 2-5, 2014. Proceedings, Paolo Baldan and Daniele Gorla (Eds.) (Lecture Notes in Computer Science, Vol. 8704). Springer, 125–140. https://doi.org/10.1007/978-3-662-44584-6_10 Google Scholar
Cross Ref
- Igor V. Konnov, Marijana Lazic, Helmut Veith, and Josef Widder. 2017. A short counterexample property for safety and liveness verification of fault-tolerant distributed algorithms. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, Paris, France, January 18-20, 2017, Giuseppe Castagna and Andrew D. Gordon (Eds.). ACM, 719–734. https://doi.org/10.1145/3009837.3009860 Google Scholar
Digital Library
- Daniel Kroening and Ofer Strichman. 2003. Efficient Computation of Recurrence Diameters. In Verification, Model Checking, and Abstract Interpretation, 4th International Conference, VMCAI 2003, New York, NY, USA, January 9-11, 2002, Proceedings, Lenore D. Zuck, Paul C. Attie, Agostino Cortesi, and Supratik Mukhopadhyay (Eds.) (Lecture Notes in Computer Science, Vol. 2575). Springer, 298–309. https://doi.org/10.1007/3-540-36384-X_24 Google Scholar
Cross Ref
- Shuvendu K. Lahiri and Shaz Qadeer. 2009. Complexity and Algorithms for Monomial and Clausal Predicate Abstraction. In Automated Deduction - CADE-22, 22nd International Conference on Automated Deduction, Montreal, Canada, August 2-7, 2009. Proceedings. 214–229.Google Scholar
- Kim Guldstrand Larsen and Xinxin Liu. 1990. Equation Solving Using Modal Transition Systems. In Proceedings of the Fifth Annual Symposium on Logic in Computer Science (LICS ’90), Philadelphia, Pennsylvania, USA, June 4-7, 1990. IEEE Computer Society, 108–117. https://doi.org/10.1109/LICS.1990.113738 Google Scholar
Cross Ref
- Richard J. Lipton. 1975. Reduction: A Method of Proving Properties of Parallel Programs. Commun. ACM, 18, 12 (1975), 717–721. https://doi.org/10.1145/361227.361234 Google Scholar
Digital Library
- Kenneth L. McMillan. 2003. Interpolation and SAT-Based Model Checking. In Computer Aided Verification, 15th International Conference, CAV 2003, Boulder, CO, USA, July 8-12, 2003, Proceedings. 1–13.Google Scholar
- Daniel Neider, P. Madhusudan, Shambwaditya Saha, Pranav Garg, and Daejun Park. 2020. A Learning-Based Approach to Synthesizing Invariants for Incomplete Verification Engines. J. Autom. Reason., 64, 7 (2020), 1523–1552. https://doi.org/10.1007/s10817-020-09570-z Google Scholar
Digital Library
- Oded Padon, Neil Immerman, Sharon Shoham, Aleksandr Karbyshev, and Mooly Sagiv. 2016. Decidability of inferring inductive invariants. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, St. Petersburg, FL, USA, January 20 - 22, 2016. 217–231. https://doi.org/10.1145/2837614.2837640 Google Scholar
Digital Library
- Jean-Pierre Queille and Joseph Sifakis. 1982. Specification and verification of concurrent systems in CESAR. In International Symposium on Programming, 5th Colloquium, Torino, Italy, April 6-8, 1982, Proceedings, Mariangiola Dezani-Ciancaglini and Ugo Montanari (Eds.) (Lecture Notes in Computer Science, Vol. 137). Springer, 337–351. https://doi.org/10.1007/3-540-11494-7_22 Google Scholar
- WV Quine. 1954. Two theorems about truth-functions. Boletín de la Sociedad Matemática Mexicana, 10, 1–2 (1954), 64–70.Google Scholar
- Noam Rinetzky and Sharon Shoham. 2016. Property Directed Abstract Interpretation. In Verification, Model Checking, and Abstract Interpretation - 17th International Conference, VMCAI 2016, St. Petersburg, FL, USA, January 17-19, 2016. Proceedings, Barbara Jobstmann and K. Rustan M. Leino (Eds.) (Lecture Notes in Computer Science, Vol. 9583). Springer, 104–123. https://doi.org/10.1007/978-3-662-49122-5_5 Google Scholar
Digital Library
- Jussi Rintanen and Charles Orgill Gretton. 2013. Computing Upper Bounds on Lengths of Transition Sequences. In IJCAI 2013, Proceedings of the 23rd International Joint Conference on Artificial Intelligence, Beijing, China, August 3-9, 2013, Francesca Rossi (Ed.). IJCAI/AAAI, 2365–2372. http://www.aaai.org/ocs/index.php/IJCAI/IJCAI13/paper/view/6992Google Scholar
- Xavier Rival and Kwangkeun Yi. 2020. Introduction to Static Analysis: An Abstract Interpretation Perspective. MIT Press.Google Scholar
- Marcus Schaefer and Christopher Umans. 2002. Completeness in the polynomial-time hierarchy: A compendium. SIGACT news, 33, 3 (2002), 32–49.Google Scholar
- Tobias Seufert and Christoph Scholl. 2017. Sequential Verification Using Reverse PDR. In Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, MBMV 2017, Bremen, Germany, February 8-9, 2017, Daniel Groß e and Rolf Drechsler (Eds.). Shaker Verlag, 79–90.Google Scholar
- Rahul Sharma and Alex Aiken. 2016. From invariant checking to invariant inference using randomized search. Formal Methods in System Design, 48, 3 (2016), 235–256. https://doi.org/10.1007/s10703-016-0248-5 Google Scholar
Digital Library
- Rahul Sharma, Saurabh Gupta, Bharath Hariharan, Alex Aiken, Percy Liang, and Aditya V. Nori. 2013. A Data Driven Approach for Algebraic Loop Invariants. In Programming Languages and Systems - 22nd European Symposium on Programming, ESOP 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings. 574–592. https://doi.org/10.1007/978-3-642-37036-6_31 Google Scholar
Digital Library
- Rahul Sharma, Saurabh Gupta, Bharath Hariharan, Alex Aiken, and Aditya V. Nori. 2013. Verification as Learning Geometric Concepts. In Static Analysis - 20th International Symposium, SAS 2013, Seattle, WA, USA, June 20-22, 2013. Proceedings. 388–411.Google Scholar
- Rahul Sharma, Aditya V. Nori, and Alex Aiken. 2012. Interpolants as Classifiers. In Computer Aided Verification - 24th International Conference, CAV 2012, Berkeley, CA, USA, July 7-13, 2012 Proceedings. 71–87. https://doi.org/10.1007/978-3-642-31424-7_11 Google Scholar
Digital Library
- Mary Sheeran, Satnam Singh, and Gunnar Stålmarck. 2000. Checking Safety Properties Using Induction and a SAT-Solver. In Formal Methods in Computer-Aided Design, Third International Conference, FMCAD 2000, Austin, Texas, USA, November 1-3, 2000, Proceedings, Warren A. Hunt Jr. and Steven D. Johnson (Eds.) (Lecture Notes in Computer Science, Vol. 1954). Springer, 108–125. https://doi.org/10.1007/3-540-40922-X_8 Google Scholar
- Christopher Umans. 2001. The Minimum Equivalent DNF Problem and Shortest Implicants. J. Comput. Syst. Sci., 63, 4 (2001), 597–611. https://doi.org/10.1006/jcss.2001.1775 Google Scholar
Digital Library
- Caterina Urban. 2015. Static analysis by abstract interpretation of functional temporal properties of programs. Ph.D. Dissertation. Paris, Ecole normale supérieure.Google Scholar
- Douglas H Wiedemann. 1987. Hamming geometry. Ph.D. Dissertation. University of Waterloo.Google Scholar
Index Terms
Property-directed reachability as abstract interpretation in the monotone theory
Recommendations
Generalized Property-Directed Reachability for Hybrid Systems
Verification, Model Checking, and Abstract InterpretationAbstractGeneralized property-directed reachability (GPDR) belongs to the family of the model-checking techniques called IC3/PDR. It has been successfully applied to software verification; for example, it is the core of Spacer, a state-of-the-art Horn-...
Property-Directed Inference of Universal Invariants or Proving Their Absence
We present Universal Property Directed Reachability (PDR∀), a property-directed semi-algorithm for automatic inference of invariants in a universal fragment of first-order logic. PDR∀ is an extension of Bradley’s PDR/IC3 algorithm for inference of ...
Automatic Construction of Complete Abstraction by Abstract Interpretation
ICIS '09: Proceedings of the 2009 Eigth IEEE/ACIS International Conference on Computer and Information ScienceAbstraction plays a fundamental role in combating state-space explosion in model checking. Firstly, we study how to abstract models of mu-calculus and derive abstractions that are sound, and apply them to abstracting Kripke structures. However, a lack ...






Comments