Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3385412.3386018acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

First-order quantified separators

Published: 11 June 2020 Publication History
  • Get Citation Alerts
  • Abstract

    Quantified first-order formulas, often with quantifier alternations, are increasingly used in the verification of complex systems. While automated theorem provers for first-order logic are becoming more robust, invariant inference tools that handle quantifiers are currently restricted to purely universal formulas. We define and analyze first-order quantified separators and their application to inferring quantified invariants with alternations. A separator for a given set of positively and negatively labeled structures is a formula that is true on positive structures and false on negative structures. We investigate the problem of finding a separator from the class of formulas in prenex normal form with a bounded number of quantifiers and show this problem is NP-complete by reduction to and from SAT. We also give a practical separation algorithm, which we use to demonstrate the first invariant inference procedure able to infer invariants with quantifier alternations.

    References

    [1]
    Aws Albarghouthi and Kenneth L. McMillan. 2013. Beautiful Interpolants. In Computer Aided Verification, Natasha Sharygina and Helmut Veith (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 313–329.
    [2]
    Clark Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovi’c, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV ’11) (Lecture Notes in Computer Science), Ganesh Gopalakrishnan and Shaz Qadeer (Eds.), Vol. 6806. Springer, 171–177. Snowbird, Utah.
    [3]
    Idan Berkovits, Marijana Lazic, Giuliano Losa, Oded Padon, and Sharon Shoham. 2019. Verification of Threshold-Based Distributed Algorithms by Decomposition to Decidable Logics. In Computer Aided Verification - 31st International Conference, CAV 2019, New York City, NY, USA, July 15-18, 2019, Proceedings, Part II. 245–266. 3-030-25543-5_15
    [4]
    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.
    [5]
    Nader H. Bshouty. 1995. Exact Learning Boolean Functions via the Monotone Theory. Inf. Comput. 123, 1 (Nov. 1995), 146–153.
    [6]
    Stephen A. Cook. 1971. The Complexity of Theorem-proving Procedures. In Proceedings of the Third Annual ACM Symposium on Theory of Computing (Shaker Heights, Ohio, USA) (STOC ’71). ACM, New York, NY, USA, 151–158.
    [7]
    Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An Efficient SMT Solver. In Proceedings of the Theory and Practice of Software, 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (Budapest, Hungary) (TACAS’08/ETAPS’08). Springer-Verlag, Berlin, Heidelberg, 337–340. http://dl.acm.org/ citation.cfm?id=1792734.1792766
    [8]
    Samuel Drews and Aws Albarghouthi. 2016. Effectively Propositional Interpolants. In Computer Aided Verification - 28th International Conference, CAV 2016, Toronto, ON, Canada, July 17-23, 2016, Proceedings, Part II (Lecture Notes in Computer Science), Swarat Chaudhuri and Azadeh Farzan (Eds.), Vol. 9780. Springer, 210–229. 3-319-41540-6_12
    [9]
    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
    [10]
    Yotam M. Y. Feldman, Neil Immerman, Mooly Sagiv, and Sharon Shoham. 2020. Complexity and information in invariant inference. PACMPL 4, POPL (2020), 5:1–5:29.
    [11]
    Yotam M. Y. Feldman, Oded Padon, Neil Immerman, Mooly Sagiv, and Sharon Shoham. 2017. Bounded Quantifier Instantiation for Checking Inductive Invariants. In Tools and Algorithms for the Construction and Analysis of Systems, Axel Legay and Tiziana Margaria (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 76–95.
    [12]
    Yotam M. Y. Feldman, James R. Wilcox, Sharon Shoham, and Mooly Sagiv. 2019. Inferring Inductive Invariants from Phase Structures. In Computer Aided Verification, Isil Dillig and Serdar Tasiran (Eds.). Springer International Publishing, Cham, 405–425.
    [13]
    GW Ford and GE Uhlenbeck. 1957. Combinatorial problems in the theory of graphs. In Proc Natl Acad Sci USA. 163–167. 10.1073/pnas.43.1.163
    [14]
    Pranav Garg, Christof Löding, P. Madhusudan, and Daniel Neider. 2014. ICE: A Robust Framework for Learning Invariants. In Computer Aided Verification, Armin Biere and Roderick Bloem (Eds.). Springer International Publishing, Cham, 69–87.
    [15]
    Jaakko Hintikka. 1982. Game-theoretical semantics: insights and prospects. Notre Dame J. Formal Logic 23, 2 (04 1982), 219–241.
    [16]
    Neil Immerman. 1999. Descriptive Complexity. Springer.
    [17]
    Neil Immerman and Eric Lander. 1990. Describing Graphs: A First-Order Approach to Graph Canonization. Springer-Verlag, 59–81.
    [18]
    Daniel Jackson. 2012. Software Abstractions: Logic, Language, and Analysis. The MIT Press.
    [19]
    Aleksandr Karbyshev, Nikolaj Bjørner, Shachar Itzhaky, Noam Rinetzky, and Sharon Shoham. 2017. Property-Directed Inference of Universal Invariants or Proving Their Absence. J. ACM 64, 1, Article 7 (March 2017), 33 pages.
    [20]
    K. Rustan M. Leino. 2013. Developing Verified Programs with Dafny. In Proceedings of the 2013 International Conference on Software Engineering (San Francisco, CA, USA) (ICSE ’13). IEEE Press, Piscataway, NJ, USA, 1488–1490. http://dl.acm.org/citation.cfm?id=2486788.2487050
    [21]
    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 (Lecture Notes in Computer Science), Warren A. Hunt Jr. and Fabio Somenzi (Eds.), Vol. 2725. Springer, 1–13.
    [22]
    Kenneth L. McMillan. 2006. Lazy Abstraction with Interpolants. In Computer Aided Verification, 18th International Conference, CAV 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings (Lecture Notes in Computer Science), Thomas Ball and Robert B. Jones (Eds.), Vol. 4144.
    [23]
    Springer, 123–136.
    [24]
    Oded Padon, Jochen Hoenicke, Giuliano Losa, Andreas Podelski, Mooly Sagiv, and Sharon Shoham. 2017. Reducing Liveness to Safety in First-Order Logic. Proc. ACM Program. Lang. 2, POPL, Article 26 (Dec. 2017), 33 pages.
    [25]
    Oded Padon, Giuliano Losa, Mooly Sagiv, and Sharon Shoham. 2017. Paxos made EPR: decidable reasoning about distributed protocols. Proceedings of the ACM on Programming Languages 1, OOPSLA (Oct 2017), 1–31.
    [26]
    Oded Padon, Kenneth L. McMillan, Aurojit Panda, Mooly Sagiv, and Sharon Shoham. 2016. Ivy: Safety Verification by Interactive Generalization. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (Santa Barbara, CA, USA) (PLDI ’16). ACM, New York, NY, USA, 614–630. https: First-Order Quantified Separators PLDI ’20, June 15–20, 2020, London, UK //doi.org/10.1145/2908080.2908118
    [27]
    Rahul Sharma and Alex Aiken. 2014. From Invariant Checking to Invariant Inference Using Randomized Search. In Proceedings of the 16th International Conference on Computer Aided Verification - Volume 8559. Springer-Verlag, Berlin, Heidelberg, 88–105. 1007/978-3-319-08867-9_6
    [28]
    Rahul Sharma, Saurabh Gupta, Bharath Hariharan, Alex Aiken, and Aditya V. Nori. 2013. Verification as Learning Geometric Concepts. In Static Analysis, Francesco Logozzo and Manuel Fähndrich (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 388–411.
    [29]
    Rahul Sharma, Aditya V. Nori, and Alex Aiken. 2014. Bias-variance Tradeoffs in Program Analysis. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (San Diego, California, USA) (POPL ’14). ACM, New York, NY, USA, 127–137.
    [30]
    Marcelo Taube, Giuliano Losa, Kenneth L. McMillan, Oded Padon, Mooly Sagiv, Sharon Shoham, James R. Wilcox, and Doug Woos. 2018.
    [31]
    Modularity for Decidability of Deductive Verification with Applications to Distributed Systems. In Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (Philadelphia, PA, USA) (PLDI 2018). Association for Computing Machinery, New York, NY, USA, 662–677. 3192366.3192414
    [32]
    V. Vapnik and A. Chervonenkis. 1971. On the Uniform Convergence of Relative Frequencies of Events to Their Probabilities. Theory of Probability & Its Applications 16, 2 (1971), 264–280.

    Cited By

    View all
    • (2024)Mostly Automated Verification of Liveness Properties for Distributed Protocols with Ranking FunctionsProceedings of the ACM on Programming Languages10.1145/36328778:POPL(1028-1059)Online publication date: 5-Jan-2024
    • (2024)mypyvy: A Research Platform for Verification of Transition Systems in First-Order LogicComputer Aided Verification10.1007/978-3-031-65630-9_4(71-85)Online publication date: 25-Jul-2024
    • (2023)Message Chains for Distributed System VerificationProceedings of the ACM on Programming Languages10.1145/36228767:OOPSLA2(2224-2250)Online publication date: 16-Oct-2023
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PLDI 2020: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
    June 2020
    1174 pages
    ISBN:9781450376136
    DOI:10.1145/3385412
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 11 June 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Badges

    Author Tags

    1. first-order logic
    2. invariant inference

    Qualifiers

    • Research-article

    Conference

    PLDI '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 406 of 2,067 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)40
    • Downloads (Last 6 weeks)10
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Mostly Automated Verification of Liveness Properties for Distributed Protocols with Ranking FunctionsProceedings of the ACM on Programming Languages10.1145/36328778:POPL(1028-1059)Online publication date: 5-Jan-2024
    • (2024)mypyvy: A Research Platform for Verification of Transition Systems in First-Order LogicComputer Aided Verification10.1007/978-3-031-65630-9_4(71-85)Online publication date: 25-Jul-2024
    • (2023)Message Chains for Distributed System VerificationProceedings of the ACM on Programming Languages10.1145/36228767:OOPSLA2(2224-2250)Online publication date: 16-Oct-2023
    • (2023)Languages with Decidable Learning: A Meta-theoremProceedings of the ACM on Programming Languages10.1145/35860327:OOPSLA1(143-171)Online publication date: 6-Apr-2023
    • (2023)Synthesizing History and Prophecy Variables for Symbolic Model CheckingVerification, Model Checking, and Abstract Interpretation10.1007/978-3-031-24950-1_15(320-340)Online publication date: 17-Jan-2023
    • (2022)Model-guided synthesis of inductive lemmas for FOL with least fixpointsProceedings of the ACM on Programming Languages10.1145/35633546:OOPSLA2(1873-1902)Online publication date: 31-Oct-2022
    • (2022)Synthesizing axiomatizations using logic learningProceedings of the ACM on Programming Languages10.1145/35633486:OOPSLA2(1697-1725)Online publication date: 31-Oct-2022
    • (2022)Induction duality: primal-dual search for invariantsProceedings of the ACM on Programming Languages10.1145/34987126:POPL(1-29)Online publication date: 12-Jan-2022
    • (2022)Property-directed reachability as abstract interpretation in the monotone theoryProceedings of the ACM on Programming Languages10.1145/34986766:POPL(1-31)Online publication date: 12-Jan-2022
    • (2022)Learning formulas in finite variable logicsProceedings of the ACM on Programming Languages10.1145/34986716:POPL(1-28)Online publication date: 12-Jan-2022
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media