Sharon Shoham's research while affiliated with Tel Aviv University and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (114)


Efficient Implementation of an Abstract Domain of Quantified First-Order Formulas
  • Preprint
  • File available

May 2024

·

19 Reads

Eden Frenkel

·

Tej Chaged

·

·

Sharon Shoham

This paper lays a practical foundation for using abstract interpretation with an abstract domain that consists of sets of quantified first-order logic formulas. This abstract domain seems infeasible at first sight due to the complexity of the formulas involved and the enormous size of sets of formulas (abstract elements). We introduce an efficient representation of abstract elements, which eliminates redundancies based on a novel syntactic subsumption relation that under-approximates semantic entailment. We develop algorithms and data-structures to efficiently compute the join of an abstract element with the abstraction of a concrete state, operating on the representation of abstract elements. To demonstrate feasibility of the domain, we use our data structures and algorithms to implement a symbolic abstraction algorithm that computes the least fixpoint of the best abstract transformer of a transition system, which corresponds to the strongest inductive invariant. We succeed at finding, for example, the least fixpoint for Paxos (which in our representation has 1,438 formulas with forall-exists-forall quantification) in time comparable to state-of-the-art property-directed approaches.

Download
Share

Hyperproperty Verification as CHC Satisfiability

April 2024

·

16 Reads

Hyperproperties specify the behavior of a system across multiple executions, and are an important extension of regular temporal properties. So far, such properties have resisted comprehensive treatment by software model-checking approaches such as IC3/PDR, due to the need to find not only an inductive invariant but also a total alignment of different executions that facilitates simpler inductive invariants. We show how this treatment is achieved via a reduction from the verification problem of $$\forall ^*\exists ^*$$ ∀ ∗ ∃ ∗ hyperproperties to Constrained Horn Clauses (CHCs). Our starting point is a set of universally quantified formulas in first-order logic (modulo theories) that encode the verification of $$\forall ^*\exists ^*$$ ∀ ∗ ∃ ∗ hyperproperties over infinite-state transition systems. The first-order encoding uses uninterpreted predicates to capture the (1) witness function for existential quantification over traces, (2) alignment of executions, and (3) corresponding inductive invariant. Such an encoding was previously proposed for k -safety properties. Unfortunately, finding a satisfying model for the resulting first-order formulas is beyond reach for modern first-order satisfiability solvers. Previous works tackled this obstacle by developing specialized solvers for the aforementioned first-order formulas. In contrast, we show that the same problems can be encoded as CHCs and solved by existing CHC solvers. CHC solvers take advantage of the unique structure of CHC formulas and handle the combination of quantifiers with theories and uninterpreted predicates more efficiently. Our key technical contribution is a logical transformation of the aforementioned sets of first-order formulas to equi-satisfiable sets of CHCs. The transformation to CHCs is sound and complete, and applying it to the first-order formulas that encode verification of hyperproperties leads to a CHC encoding of these problems. We implemented the CHC encoding in a prototype tool and show that, using existing CHC solvers for solving the CHCs, the approach already outperforms state-of-the-art tools for hyperproperty verification by orders of magnitude.


Fig. 1: State transitions of specSMS. A state ⟨P, D 0 ⟩ means that the secondary solver S s is in propagate mode and the main solver S m is in decide mode. Each edge is guarded with a condition. The condition S m : sat means that S m found a full satisfying assignment to Φ m . The condition S m : c @ ≤ j means that S m hit a conflict at a decision level below j. The four states in yellow corresponds to SMS; two states in green are unique to specSMS.
Speculative SAT Modulo SAT

April 2024

·

10 Reads

State-of-the-art model-checking algorithms like IC3/PDR are based on uni-directional modular SAT solving for finding and/or blocking counterexamples. Modular SAT-solvers divide a SAT-query into multiple sub-queries, each solved by a separate SAT-solver (called a module), and propagate information (lemmas, proof obligations, blocked clauses, etc.) between modules. While modular solving is key to IC3/PDR, it is obviously not as effective as monolithic solving, especially when individual sub-queries are harder to solve than the combined query. This is partially addressed in SAT modulo SAT (SMS) by propagating unit literals back and forth between the modules and using information from one module to simplify the sub-query in another module as soon as possible (i.e., before the satisfiability of any sub-query is established). However, bi-directionality of SMS is limited because of the strict order between decisions and propagation – only one module is allowed to make decisions, until its sub-query is SAT. In this paper, we propose a generalization of SMS, called specSMS , that speculates decisions between modules. This makes it bi-directional – decisions are made in multiple modules, and learned clauses are exchanged in both directions. We further extend DRUP proofs and interpolation, these are useful in model checking, to specSMS . We have implemented specSMS in Z3 and empirically validate it on a series of benchmarks that are provably hard for SMS.


An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification

January 2024

·

9 Reads

Proceedings of the ACM on Programming Languages

First-order logic, and quantifiers in particular, are widely used in deductive verification of programs and systems. Quantifiers are essential for describing systems with unbounded domains, but prove difficult for automated solvers. Significant effort has been dedicated to finding quantifier instantiations that establish unsatisfiability of quantified formulas, thus ensuring validity of a system’s verification conditions. However, in many cases the formulas are satisfiable—this is often the case in intermediate steps of the verification process, e.g., when an invariant is not yet inductive. For such cases, existing tools are limited to finding finite models as counterexamples. Yet, some quantified formulas are satisfiable but only have infinite models, which current solvers are unable to find. Such infinite counter-models are especially typical when first-order logic is used to approximate the natural numbers, the integers, or other inductive definitions such as linked lists, which is common in deductive verification. The inability of solvers to find infinite models makes them diverge in these cases, providing little feedback to the user as they try to make progress in their verification attempts. In this paper, we tackle the problem of finding such infinite models, specifically, finite representations thereof that can be presented to the user of a deductive verification tool. These models give insight into the verification failure, and allow the user to identify and fix bugs in the modeling of the system and its properties. Our approach consists of three parts. First, we introduce symbolic structures as a way to represent certain infinite models, and show they admit an efficient model checking procedure. Second, we describe an effective model finding procedure that symbolically explores a given (possibly infinite) family of symbolic structures in search of an infinite model for a given formula. Finally, we identify a new decidable fragment of first-order logic that extends and subsumes the many-sorted variant of EPR, where satisfiable formulas always have a model representable by a symbolic structure within a known family, making our model finding procedure a decision procedure for that fragment. We evaluate our approach on examples from the domains of distributed consensus protocols and of heap-manipulating programs (specifically, linked lists). Our implementation quickly finds infinite counter-models that demonstrate the source of verification failures in a simple way, while state-of-the-art SMT solvers and theorem provers such as Z3, cvc5, and Vampire diverge or return “unknown”.



Counterexample Driven Quantifier Instantiations with Applications to Distributed Protocols

October 2023

·

10 Reads

Proceedings of the ACM on Programming Languages

·

Marcelo Taube

·

Kenneth L. McMillan

·

[...]

·

Formally verifying infinite-state systems can be a daunting task, especially when it comes to reasoning about quantifiers. In particular, quantifier alternations in conjunction with function symbols can create function cycles that result in infinitely many ground terms, making it difficult for solvers to instantiate quantifiers and causing them to diverge. This can leave users with no useful information on how to proceed. To address this issue, we propose an interactive verification methodology that uses a relational abstraction technique to mitigate solver divergence in the presence of quantifiers. This technique abstracts functions in the verification conditions (VCs) as one-to-one relations, which avoids the creation of function cycles and the resulting proliferation of ground terms. Relational abstraction is sound and guarantees correctness if the solver cannot find counter-models. However, it may also lead to false counterexamples, which can be addressed by refining the abstraction and requiring the existence of corresponding elements. In the domain of distributed protocols, we can refine the abstraction by diagnosing counterexamples and manually instantiating elements in the range of the original function. If the verification conditions are correct, there always exist finitely many refinement steps that eliminate all spurious counter-models, making the approach complete. We applied this approach in Ivy to verify the safety properties of consensus protocols and found that: (1) most verification goals can be automatically verified using relational abstraction, while SMT solvers often diverge when given the original VC, (2) only a few manual instantiations were needed, and the counterexamples provided valuable guidance for the user compared to timeouts produced by the traditional approach, and (3) the technique can be used to derive efficient low-level implementations of tricky algorithms.


State Merging with Quantifiers in Symbolic Execution

August 2023

·

36 Reads

We address the problem of constraint encoding explosion which hinders the applicability of state merging in symbolic execution. Specifically, our goal is to reduce the number of disjunctions and \emph{if-then-else} expressions introduced during state merging. The main idea is to dynamically partition the symbolic states into merging groups according to a similar uniform structure detected in their path constraints, which allows to efficiently encode the merged path constraint and memory using quantifiers. To address the added complexity of solving quantified constraints, we propose a specialized solving procedure that reduces the solving time in many cases. Our evaluation shows that our approach can lead to significant performance gains.


Fast Approximations of Quantifier Elimination

July 2023

·

82 Reads

·

1 Citation

Quantifier elimination (qelim) is used in many automated reasoning tasks including program synthesis, exist-forall solving, quantified SMT, Model Checking, and solving Constrained Horn Clauses (CHCs). Exact qelim is computationally expensive. Hence, it is often approximated. For example, Z3 uses “light” pre-processing to reduce the number of quantified variables. CHC-solver Spacer uses model-based projection (MBP) to under-approximate qelim relative to a given model, and over-approximations of qelim can be used as abstractions. In this paper, we present the QEL framework for fast approximations of qelim. QEL provides a uniform interface for both quantifier reduction and model-based projection. QEL builds on the egraph data structure – the core of the EUF decision procedure in SMT – by casting quantifier reduction as a problem of choosing ground (i.e., variable-free) representatives for equivalence classes. We have used QEL to implement MBP for the theories of Arrays and Algebraic Data Types (ADTs). We integrated QEL and our new MBP in Z3 and evaluated it within several tasks that rely on quantifier approximations, outperforming state-of-the-art.


Speculative SAT Modulo SAT

June 2023

·

29 Reads

State-of-the-art model-checking algorithms like IC3/PDR are based on uni-directional modular SAT solving for finding and/or blocking counterexamples. Modular SAT solvers divide a SAT-query into multiple sub-queries, each solved by a separate SAT solver (called a module), and propagate information (lemmas, proof obligations, blocked clauses, etc.) between modules. While modular solving is key to IC3/PDR, it is obviously not as effective as monolithic solving, especially when individual sub-queries are harder to solve than the combined query. This is partially addressed in SAT modulo SAT (SMS) by propagating unit literals back and forth between the modules and using information from one module to simplify the sub-query in another module as soon as possible (i.e., before the satisfiability of any sub-query is established). However, bi-directionality of SMS is limited because of the strict order between decisions and propagation -- only one module is allowed to make decisions, until its sub-query is SAT. In this paper, we propose a generalization of SMS, called SPEC SMS, that speculates decisions between modules. This makes it bi-directional -- decisions are made in multiple modules, and learned clauses are exchanged in both directions. We further extend DRUP proofs and interpolation, these are useful in model checking, to SPEC SMS. We have implemented SPEC SMS in Z3 and show that it performs exponentially better on a series of benchmarks that are provably hard for SMS.


Fast Approximations of Quantifier Elimination

June 2023

·

6 Reads

Quantifier elimination (qelim) is used in many automated reasoning tasks including program synthesis, exist-forall solving, quantified SMT, Model Checking, and solving Constrained Horn Clauses (CHCs). Exact qelim is computationally expensive. Hence, it is often approximated. For example, Z3 uses "light" pre-processing to reduce the number of quantified variables. CHC-solver Spacer uses model-based projection (MBP) to under-approximate qelim relative to a given model, and over-approximations of qelim can be used as abstractions. In this paper, we present the QEL framework for fast approximations of qelim. QEL provides a uniform interface for both quantifier reduction and model-based projection. QEL builds on the egraph data structure -- the core of the EUF decision procedure in SMT -- by casting quantifier reduction as a problem of choosing ground (i.e., variable-free) representatives for equivalence classes. We have used QEL to implement MBP for the theories of Arrays and Algebraic Data Types (ADTs). We integrated QEL and our new MBP in Z3 and evaluated it within several tasks that rely on quantifier approximations, outperforming state-of-the-art.


Citations (57)


... HyHorn solves almost all of the benchmarks with PA in under a second, outperforming previous approaches by up to two orders of magnitude; and also solves most of the benchmarks quickly without PA, esp. the ∀ * ∃ * ones. Spacer is capable of finding linear integer invariants, mostly thanks to its global guidance [16] feature, that allows for better generalizations overall. ...

Reference:

Hyperproperty Verification as CHC Satisfiability
Global guidance for local generalization in model checking

Formal Methods in System Design

... that form an inductive invariant using sophisticated heuristics and algorithmic techniques, such as property-directed reachability (IC3) [12,13], incremental induction [9, 23], generalization from finite instances [7,15], and clever forms of pruning and exploration [27,28]. While prior techniques can successfully handle some challenging benchmarks, the accumulation of specially-tailored techniques makes the results computed by these techniques unpredictable, and makes it hard to extend or improve them. ...

Inferring Invariants with Quantifier Alternations: Taming the Search Space Explosion

... Lemma Finding in Inductive Reasoning. Due to the necessity, the lemma finding algorithm has been integrated into various architectures of inductive reasoning, including theory exploration [4,32], superposition-based provers [7,11,27,30], SMT solvers [24,31,36,38], and other customized approaches [21,34]. These approaches can be divided into two categories. ...

Solving constrained Horn clauses modulo algebraic data types and recursive functions
  • Citing Article
  • January 2022

Proceedings of the ACM on Programming Languages

... PDR algorithms have shown impressive performance both in hardware and software verification, leading to active research [15,18,28,29] going far beyond its original scope. For instance, an abstract domain [8] capturing the overapproximation exploited by PDR has been recently introduced in [13], while PrIC3 [3] extended PDR for quantitative verification of probabilistic systems. ...

Property-directed reachability as abstract interpretation in the monotone theory
  • Citing Article
  • January 2022

Proceedings of the ACM on Programming Languages

... This capacity expansion involves adding wavelengths, each requiring optical transponders and occupying a specific spectrum width in the fiber. However, the high cost of optical hardware, such as transponders, fiber cable, and equipment in the optical line system (OLS), makes long-haul WAN capacity a costly proposition [46]. Current cloud providers utilize fixed optical backbones for longhaul WAN capacity, employing a rigid spectrum grid such as 50 GHz or 75 GHz [5] to simplify optical layer management. ...

Cost-effective capacity provisioning in wide area networks with Shoofly
  • Citing Conference Paper
  • August 2021

... Prophecies as a proof technique have found application in various settings. They have been used for the verification of branching-time properties [14], the construction of simulations between automata [15], to strengthen proofs in program logics [16]- [18], and to construct liveness-to-safety transformations [19]. Cook and Koskinen [20] introduce prophecies in the form of decision predicates to verify LTL properties using CTL solvers on infinite-state systems. ...

Temporal prophecy for proving temporal properties of infinite-state systems

Formal Methods in System Design

... Feature engineering for traditional machine learning still requires experts to define rules, which can be error-prone and complex (Feldman et al. 2021). Vulnerability detection in smart contracts based on deep learning is a very promising and potential approach. ...

Learning the boundary of inductive invariants
  • Citing Article
  • January 2021

Proceedings of the ACM on Programming Languages

... Similar to the original implementation of CIVL [7], it uses non-interference reasoning à la Owicki-Gries [25] to automate thread modularity. What makes nekton stand out among these relatives is its inbuilt support for expressing complex inductive heap invariants using the flow framework [12,13,20] and the ability to (partially) automate complex linearizability arguments that require hindsight reasoning [4,5,15,18,19,24]. Together, these features enable nekton to verify challenging concurrent data structures such as the FEMRS tree [4] with little user guidance. ...

Proving highly-concurrent traversals correct
  • Citing Article
  • November 2020

Proceedings of the ACM on Programming Languages

... On ARC, the state-of-the-art is Hypothesis Search [22], which we replicate, finding REx solves more problems. 1 On Loop Invariants, we solve more problems than general purpose solvers such as Z3-GSpacer [25,21] as well as the state-of-the-art solver that is specially designed for this dataset [20]. The specially designed solver individually tuned the feature space and the hyper-parameters for each benchmark problem. ...

Global Guidance for Local Generalization in Model Checking

... In a further development, Piskac and Kuncak (2008) give a decision procedure for multisets with cardinality constraints by using a similar method (i.e., encoding input formulas as quantifierfree PA formulas); more recently a more efficient method based on a LIA * encoding has been proposed (Piskac 2020;Levatich et al. 2020). These algorithms have been implemented in the MUNCH and ssl-reachability (Piskac 2020) tools which use existing solvers to solve the various problems involved in this approach, e.g., linear integer arithmetic. ...

Solving $$\mathrm {LIA} ^\star $$ Using Approximations
  • Citing Chapter
  • January 2020