skip to main content
research-article
Open access

Property-directed reachability as abstract interpretation in the monotone theory

Published: 12 January 2022 Publication History

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.

Supplementary Material

Auxiliary Presentation Video (popl22main-p65-p-video.mp4)
Short talk for the POPL'22 paper "Property-Directed Reachability as Abstract Interpretation in the Monotone Theory", by Yotam Feldman, Mooly Sagiv, Sharon Shoham, and James R. Wilcox. Paper: https://arxiv.org/pdf/2111.00324.pdf

References

[1]
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
[2]
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
[3]
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
[4]
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
[5]
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
[6]
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
[7]
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/XtN
[8]
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
[9]
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
[10]
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
[11]
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
[12]
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
[13]
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
[14]
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.
[15]
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
[16]
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
[17]
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=2157675
[18]
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.
[19]
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
[20]
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
[21]
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
[22]
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.00324
[23]
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.
[24]
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
[25]
Pranav Garg, Christof Löding, P Madhusudan, and Daniel Neider. 2014. ICE: A robust framework for learning invariants. In Computer Aided Verification. 69–87.
[26]
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
[27]
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
[28]
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
[29]
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.
[30]
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
[31]
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
[32]
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
[33]
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
[34]
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
[35]
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
[36]
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
[37]
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
[38]
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
[39]
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
[40]
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
[41]
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.
[42]
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
[43]
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
[44]
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.
[45]
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
[46]
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
[47]
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
[48]
WV Quine. 1954. Two theorems about truth-functions. Boletín de la Sociedad Matemática Mexicana, 10, 1–2 (1954), 64–70.
[49]
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
[50]
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/6992
[51]
Xavier Rival and Kwangkeun Yi. 2020. Introduction to Static Analysis: An Abstract Interpretation Perspective. MIT Press.
[52]
Marcus Schaefer and Christopher Umans. 2002. Completeness in the polynomial-time hierarchy: A compendium. SIGACT news, 33, 3 (2002), 32–49.
[53]
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.
[54]
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
[55]
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
[56]
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.
[57]
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
[58]
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
[59]
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
[60]
Caterina Urban. 2015. Static analysis by abstract interpretation of functional temporal properties of programs. Ph.D. Dissertation. Paris, Ecole normale supérieure.
[61]
Douglas H Wiedemann. 1987. Hamming geometry. Ph.D. Dissertation. University of Waterloo.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 6, Issue POPL
January 2022
1886 pages
EISSN:2475-1421
DOI:10.1145/3511309
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution-NoDerivatives International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 January 2022
Published in PACMPL Volume 6, Issue POPL

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. abstract interpretation
  2. invariant inference
  3. monotone theory
  4. property-directed reachability
  5. reachability diameter

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 555
    Total Downloads
  • Downloads (Last 12 months)171
  • Downloads (Last 6 weeks)31
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media