Shared-Context Batched Satisfiability
Pith reviewed 2026-06-26 11:07 UTC · model grok-4.3
The pith
No strategy for shared-context batched satisfiability dominates all program analysis workloads.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
Shared-context batched satisfiability consists of checking satisfiability of φ ∧ p for each p in a set P given a fixed formula φ. Three strategies exist for solving such batches: checking each predicate separately, using disjunctive over-approximation, and applying Core-Literal Filter to learn and reuse inconsistent literals. Experiments on two workloads demonstrate that over-approximation is fastest on solved symbolic-abstraction queries while CLF solves more hard instances and is fastest on active property checking, supporting the view that the pattern should be a first-class primitive in program analyzer design.
What carries the argument
Core-Literal Filter (CLF), an algorithm that learns literals inconsistent with the shared formula and filters out later predicates that contain those literals.
If this is right
- Over-approximation is the fastest approach on solved symbolic-abstraction queries.
- CLF solves more hard instances than the other two strategies.
- CLF is the fastest approach on active property checking workloads.
- Treating shared-context batched satisfiability as a first-class primitive can improve the design of program analyzers.
Where Pith is reading between the lines
- Analyzer implementers might benefit from selecting the strategy at runtime based on query characteristics.
- The literal-filtering idea in CLF could be combined with over-approximation in a hybrid solver.
- This batch pattern likely occurs in other SMT applications beyond program analysis, such as model checking.
- Systematic exploration of the design space may yield additional strategies beyond the three studied.
Load-bearing premise
The workloads of symbolic abstraction and active property checking adequately represent the range of shared-context batched queries that arise in program analyzers.
What would settle it
Demonstrating a workload in which predicate-by-predicate checking outperforms both over-approximation and CLF in speed and number of solved instances would falsify the claim that no strategy dominates universally.
Figures
read the original abstract
Program analyzers often issue batches of SMT queries that share a large symbolic context and differ only in a small predicate. We formalize this recurring pattern as \emph{Shared-Context Batched Satisfiability}: given a formula $\varphi$ and predicates $P$, determine whether $\varphi \land p$ is satisfiable for each $p \in P$. We study three theory-agnostic strategies for this problem: predicate-by-predicate checking, disjunctive over-approximation, and Core-Literal Filter (CLF), a new algorithm that learns literals inconsistent with $\varphi$ and uses them to reject later predicates. Our evaluation on symbolic abstraction and active property checking shows that no strategy dominates universally: over-approximation is fastest on solved symbolic-abstraction queries, while CLF increases the number of solved hard instances and is fastest on active property checking. We advocate treating shared-context batched satisfiability as a first-class primitive in design program analyzers and exploring the algorithmic design space more systematically.
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper formalizes Shared-Context Batched Satisfiability: given formula φ and predicates P, decide satisfiability of φ ∧ p for each p ∈ P. It examines three theory-agnostic strategies—predicate-by-predicate checking, disjunctive over-approximation, and a new Core-Literal Filter (CLF) that learns literals inconsistent with φ—and evaluates them on symbolic abstraction and active property checking workloads. The evaluation is reported to show that over-approximation is fastest on solved symbolic-abstraction queries while CLF solves more hard instances and is fastest on active property checking, leading to the conclusion that no strategy dominates universally. The paper advocates treating the problem as a first-class primitive in program analyzer design.
Significance. If the empirical comparisons hold, the work usefully identifies a recurring query pattern in program analysis and supplies an initial algorithmic comparison that includes a novel CLF method. The observation that different strategies perform best on different workloads could inform SMT integration choices in analyzers. The absence of tabulated results or error bars in the provided abstract, however, prevents direct assessment of effect sizes or statistical support for the performance claims.
major comments (1)
- [Abstract] Abstract: The central claim that 'no strategy dominates universally' rests on results from only two workloads (symbolic abstraction and active property checking). The manuscript provides no argument or additional data establishing that these workloads are representative of the diversity of query structure, theory, or scale that arise in program analyzers; without such justification the generality of the conclusion is not secured.
minor comments (1)
- [Abstract] Abstract: The empirical outcomes are stated without reference to specific tables, figures, or quantitative metrics (e.g., number of instances solved, runtimes, or exclusion criteria), making it difficult to evaluate the strength of the reported performance differences.
Simulated Author's Rebuttal
We thank the referee for the constructive comment on the scope of our evaluation. We respond point-by-point below.
read point-by-point responses
-
Referee: The central claim that 'no strategy dominates universally' rests on results from only two workloads (symbolic abstraction and active property checking). The manuscript provides no argument or additional data establishing that these workloads are representative of the diversity of query structure, theory, or scale that arise in program analyzers; without such justification the generality of the conclusion is not secured.
Authors: We agree that an explicit justification for workload selection is needed to support the generality claim. These two workloads were selected because they instantiate the shared-context pattern in distinct ways common to program analysis (large fixed context with many small predicates versus repeated checks in evolving contexts). In revision we will add a dedicated paragraph in Section 5 (Evaluation) that (a) cites prior literature showing these tasks dominate SMT usage in analyzers and (b) characterizes their coverage of query structure, predicate size, and theory fragments. We will also qualify the abstract and conclusion to state that the 'no strategy dominates' observation holds for the evaluated workloads. This is a partial revision; we cannot add new empirical data from additional workloads within the revision timeline. revision: partial
Circularity Check
No significant circularity detected; empirical claims rest on direct evaluation
full rationale
The paper formalizes shared-context batched satisfiability, introduces the CLF algorithm, and reports an empirical comparison of three strategies across two concrete workloads. No equations, fitted parameters, self-citations, or uniqueness theorems appear in the provided text. The central observation that 'no strategy dominates universally' is presented as a direct outcome of the reported runtimes and solved-instance counts on the evaluated queries, without any reduction to inputs by construction or load-bearing self-reference. The representativeness of the workloads is an unverified assumption affecting generalizability, but it does not create circularity in any derivation chain.
Axiom & Free-Parameter Ledger
Reference graph
Works this paper leans on
-
[1]
Cute: a concolic unit testing engine for c
Koushik Sen, Darko Marinov, and Gul Agha. Cute: a concolic unit testing engine for c. InProceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ESEC/FSE-13, pages 263–272, New York, NY, USA, 2005. ACM.https://doi.org/10.1145/1081706.1081750
-
[2]
Cristian Cadar, Vijay Ganesh, Peter M Pawlowski, David L Dill, and Dawson R Engler. Exe: automatically generating inputs of death. pages 322–335, 2006. https://doi.org/10.1145/1180405.1180445
-
[3]
Hifrog: Smt-based function summarization for software verification
Leonardo Alt, Sepideh Asadi, Hana Chockler, Karine Even Mendoza, Grigory Fedyukovich, Antti EJ Hyv¨ arinen, and Natasha Sharygina. Hifrog: Smt-based function summarization for software verification. InInternational Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 207–
-
[4]
Smt-based model checking for recursive programs.Formal Methods in System Design, 48(3):175–205, 2016
Anvesh Komuravelli, Arie Gurfinkel, and Sagar Chaki. Smt-based model checking for recursive programs.Formal Methods in System Design, 48(3):175–205, 2016
2016
-
[5]
Software model checking for people who love automata
Matthias Heizmann, Jochen Hoenicke, and Andreas Podelski. Software model checking for people who love automata. InInternational Conference on Computer Aided Verification, pages 36–52. Springer, 2013
2013
-
[6]
Citeseer, 2008
Armando Solar-Lezama and Rastislav Bodik.Program synthesis by sketching. Citeseer, 2008
2008
-
[7]
Syn- tia: Synthesizing the semantics of obfuscated code
Tim Blazytko, Moritz Contag, Cornelius Aschermann, and Thorsten Holz. Syn- tia: Synthesizing the semantics of obfuscated code. In Engin Kirda and Thomas Ristenpart, editors,26th USENIX Security Symposium, USENIX Security 2017, Vancouver, BC, Canada, August 16-18, 2017, pages 643–659. USENIX Associa- tion, 2017
2017
-
[8]
Angelix: Scalable mul- tiline program patch synthesis via symbolic analysis
Sergey Mechtaev, Jooyong Yi, and Abhik Roychoudhury. Angelix: Scalable mul- tiline program patch synthesis via symbolic analysis. InProceedings of the 38th International Conference on Software Engineering, ICSE ’16, pages 691–701, New York, NY, USA, 2016. ACM.https://doi.org/10.1145/2884781.2884807
-
[9]
Semfix: Program repair via semantic analysis
Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chan- dra. Semfix: Program repair via semantic analysis. InProceedings of the 2013 International Conference on Software Engineering, ICSE ’13, pages 772–781, Pis- cataway, NJ, USA, 2013. IEEE Press
2013
-
[10]
Seidel, Ranjit Jhala, Dimitrios Vytiniotis, and Simon Peyton Jones
Niki Vazou, Eric L. Seidel, Ranjit Jhala, Dimitrios Vytiniotis, and Simon Peyton Jones. Refinement types for haskell. InProceedings of the 19th ACM SIGPLAN In- ternational Conference on Functional Programming (ICFP), pages 269–282. ACM, 2014.https://doi.org/10.1145/2628136.2628161
-
[11]
Champion, T
A. Champion, T. Chiba, N. Kobayashi, and R. Sato. Ice-based refinement type discovery for higher-order functional programs. InTools and Algorithms for the Construction and Analysis of Systems (TACAS), volume 10805 ofLecture Notes in Computer Science, pages 365–383. Springer, 2018.https://doi.org/10.1007/ 978-3-319-89960-2_20
2018
-
[12]
Stuart Pernsteiner, Calvin Loncaric, Emina Torlak, Zachary Tatlock, Xi Wang, Michael D. Ernst, and Jonathan Jacky. Investigating safety of a radiotherapy machine using system models with pluggable checkers. InComputer Aided Verifi- cation (CAV 2016), Part II, volume 9780 ofLecture Notes in Computer Science, pages 23–41. Springer, 2016.https://doi.org/10.1...
-
[13]
Formal reasoning about the security of amazon web services
Byron Cook. Formal reasoning about the security of amazon web services. In International Conference on Computer Aided Verification, pages 38–47. Springer, 2018
2018
-
[14]
Symbolic implementation of the best transformer
Thomas Reps, Mooly Sagiv, and Greta Yorsh. Symbolic implementation of the best transformer. InVMCAI, volume 2937, pages 252–266. Springer, 2004
2004
-
[15]
Program analysis via efficient symbolic abstraction.Proc
Peisen Yao, Qingkai Shi, Heqing Huang, and Charles Zhang. Program analysis via efficient symbolic abstraction.Proc. ACM Program. Lang., 5(OOPSLA):1–32, 2021.https://doi.org/10.1145/3485495
-
[16]
Green: reducing, reusing and recycling constraints in program analysis
Willem Visser, Jaco Geldenhuys, and Matthew B Dwyer. Green: reducing, reusing and recycling constraints in program analysis. InProceedings of the ACM SIG- SOFT 20th International Symposium on the Foundations of Software Engineering, pages 58:1–58:11. ACM, 2012
2012
-
[17]
Greentrie: Efficient constraint solving for software symbolic execution
Xiangyang Jia, Carlo Ghezzi, and Shi Ying. Greentrie: Efficient constraint solving for software symbolic execution. InProceedings of the 2015 IEEE International Conference on Software Quality, Reliability and Security, pages 311–320. IEEE, 2015
2015
-
[18]
Utopia: Smt-based formal analysis made easy
Antonio Aquino, Marc Denecker, and Broes De Cat. Utopia: Smt-based formal analysis made easy. InProceedings of the 41st International Conference on Soft- ware Engineering: Companion Proceedings, pages 167–170. IEEE Press, 2019
2019
-
[19]
IC3 modulo theories via implicit predicate abstraction
Alessandro Cimatti, Alberto Griggio, Sergio Mover, and Stefano Tonetta. IC3 modulo theories via implicit predicate abstraction. InInternational Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14)
-
[20]
Patrice Godefroid, Michael Y Levin, and David A Molnar. Active property checking. InProceedings of the 8th ACM International Conference on Embed- ded Software, EMSOFT ’08, pages 207–216, New York, NY, USA, 2008. ACM. https://doi.org/10.1145/1450058.1450087
-
[21]
Symbolic optimization with smt solvers
Yi Li, Aws Albarghouthi, Zachary Kincaid, Arie Gurfinkel, and Marsha Chechik. Symbolic optimization with smt solvers. InProceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’14)
-
[22]
Automatic abstraction for intervals using boolean formulae
J¨ org Brauer and Andy King. Automatic abstraction for intervals using boolean formulae. InSAS, volume 6337, pages 167–183. Springer, 2010
2010
-
[23]
Program analysis via efficient symbolic abstraction.Proc
Peisen Yao, Qingkai Shi, Heqing Huang, and Charles Zhang. Program analysis via efficient symbolic abstraction.Proc. ACM Program. Lang., 5(OOPSLA), 2021
2021
-
[24]
Safety verification and refutation by k-invariants and k-induction
Martin Brain, Saurabh Joshi, Daniel Kroening, and Peter Schrammel. Safety verification and refutation by k-invariants and k-induction. InStatic Analysis: 22nd International Symposium (SAS’15)
-
[25]
Boosting k-induction with continuously-refined invariants
Dirk Beyer, Matthias Dangl, and Philipp Wendler. Boosting k-induction with continuously-refined invariants. InComputer Aided Verification: 27th Interna- tional Conference (CAV’15)
-
[26]
Property-directed k-induction
Dejan Jovanovi´ c and Bruno Dutertre. Property-directed k-induction. In2016 Formal Methods in Computer-Aided Design (FMCAD), pages 85–92. IEEE, 2016
2016
-
[27]
Verification and refutation of c programs based on k-induction and invariant inference.International Journal on Software Tools for Technology Transfer (STTT’21)
Omar M Alhawi, Herbert Rocha, Mikhail R Gadelha, Lucas C Cordeiro, and Eddie Batista. Verification and refutation of c programs based on k-induction and invariant inference.International Journal on Software Tools for Technology Transfer (STTT’21)
-
[28]
Block-wise abstract interpretation by combining abstract domains with smt
Jiahong Jiang, Liqian Chen, Xueguang Wu, and Ji Wang. Block-wise abstract interpretation by combining abstract domains with smt. InInternational Con- ference on Verification, Model Checking, and Abstract Interpretation, VMCAI’17, pages 310–329. Springer, 2017
2017
-
[29]
A compar- ative study of incremental constraint solving approaches in symbolic execution
Tianhai Liu, Mateus Ara´ ujo, Marcelo d’Amorim, and Mana Taghdiri. A compar- ative study of incremental constraint solving approaches in symbolic execution. InHaifa Verification Conference, pages 284–299. Springer, 2014
2014
-
[30]
Klee: Unassisted and auto- matic generation of high-coverage tests for complex systems programs
Cristian Cadar, Daniel Dunbar, and Dawson Engler. Klee: Unassisted and auto- matic generation of high-coverage tests for complex systems programs. InPro- ceedings of the 8th USENIX Conference on Operating Systems Design and Imple- mentation, pages 209–224. USENIX Association, 2008
2008
-
[31]
David D´ eharbe, Pascal Fontaine, Daniel Le Berre, and Bertrand Mazure. Com- puting prime implicants. InFormal Methods in Computer-Aided Design, FMCAD 2013, Portland, OR, USA, October 20-23, 2013, pages 46–52. IEEE, 2013. URL https://ieeexplore.ieee.org/document/6679390/
arXiv 2013
-
[32]
Leonard Berman and Louise Trevillyan
C. Leonard Berman and Louise Trevillyan. Functional comparison of logic designs for VLSI circuits. In1989 IEEE International Conference on Computer-Aided Design, ICCAD 1989, Santa Clara, CA, USA, November 5-9, 1989. Digest of Technical Papers, pages 456–459. IEEE Computer Society, 1989.https://doi. org/10.1109/ICCAD.1989.76990. URLhttps://doi.org/10.1109/...
-
[33]
Springer Science and Business Media, 2007
Aaron R Bradley and Zohar Manna.The calculus of computation: decision pro- cedures with applications to verification. Springer Science and Business Media, 2007
2007
-
[34]
Bit-vector interpolation and quantifier elimination by lazy reduction
Peter Backeman, Philipp Rummer, and Aleksandar Zeljic. Bit-vector interpolation and quantifier elimination by lazy reduction. In2018 Formal Methods in Computer Aided Design (FMCAD’18)
-
[35]
Automatically generating loop invariants using quantifier elimi- nation
Deepak Kapur. Automatically generating loop invariants using quantifier elimi- nation. InDagstuhl Seminar Proceedings. Schloss Dagstuhl-Leibniz-Zentrum f¨ ur Informatik, 2006
2006
-
[36]
A quantifier elimination algorithm for linear modular equations and disequations
Ajith K John and Supratik Chakraborty. A quantifier elimination algorithm for linear modular equations and disequations. InProceedings of the 23rd Interna- tional Conference on Computer Aided Verification, CAV’11, pages 486–503, Berlin, Heidelberg, 2011. Springer-Verlag
2011
-
[37]
Interpolants as classifiers
Rahul Sharma, Aditya V Nori, and Alex Aiken. Interpolants as classifiers. In International Conference on Computer Aided Verification (CAV’12)
-
[38]
Interpolation-based function summaries in bounded model checking
Ondrej Sery, Grigory Fedyukovich, and Natasha Sharygina. Interpolation-based function summaries in bounded model checking. InProc. 7th Int. Haifa Verifi- cation Conf. on Hardware and Software: Verification and Testing, HVC’11, pages 160–175, 2012.https://doi.org/10.1007/978-3-642-34188-5_15
-
[39]
Kenneth L. McMillan. Lazy abstraction with interpolants. In Thomas Ball and Robert B. Jones, editors,Computer Aided Verification, 18th International Conference, CAV 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings, vol- ume 4144 ofLecture Notes in Computer Science, pages 123–136. Springer, 2006. https://doi.org/10.1007/11817963_14
-
[40]
Computing all implied equalities via SMT- based partition refinement
Josh Berdine and Nikolaj Bjørner. Computing all implied equalities via SMT- based partition refinement. Technical Report MSR-TR-2014-57, Microsoft Re- search, April 2014
2014
-
[41]
Construction of abstract state graphs with pvs
Susanne Graf and Hassen Sa¨ ıdi. Construction of abstract state graphs with pvs. In Proceedings of the 9th International Conference on Computer Aided Verification, CAV ’97, pages 72–83, London, UK, UK, 1997. Springer-Verlag
1997
-
[42]
Auto- matic predicate abstraction of c programs
Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K Rajamani. Auto- matic predicate abstraction of c programs. InProceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, PLDI ’01, pages 203–213, New York, NY, USA, 2001. ACM.https://doi.org/10. 1145/378795.378846
arXiv 2001
-
[43]
Smt techniques for fast predicate abstraction
Shuvendu K Lahiri, Robert Nieuwenhuis, and Albert Oliveras. Smt techniques for fast predicate abstraction. InProceedings of the 18th International Conference on Computer Aided Verification, CAV’06, pages 424–437, Berlin, Heidelberg, 2006. Springer-Verlag.https://doi.org/10.1007/11817963_39
-
[44]
Constraint- based invariant inference over predicate abstraction
Sumit Gulwani, Saurabh Srivastava, and Ramarathnam Venkatesan. Constraint- based invariant inference over predicate abstraction. InVerification, Model Check- ing, and Abstract Interpretation, 10th International Conference (VMCAI’09)
-
[45]
David Monniaux. Automatic modular abstractions for linear constraints. InPro- ceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’09, pages 140–151, New York, NY, USA, 2009. ACM.https://doi.org/10.1145/1480881.1480899
-
[46]
A method for symbolic computation of abstract operations
Aditya Thakur and Thomas Reps. A method for symbolic computation of abstract operations. InProceedings of the 24th International Conference on Computer Aided Verification, CAV’12, page 174–192, Berlin, Heidelberg, 2012. Springer- Verlag.https://doi.org/10.1007/978-3-642-31424-7_17
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.