Ofer Strichman

dblp:s/OferStrichman · also Ofer Shtrichman · DBLP profile ↗
← Back
83ranked-venue papers
8as first author
7since 2021 · last 2025
0000-0001-9169-3751ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 54 · 8 first-author · 3 since 2021Software engineering, systems software and programming languages · 45 · 5 first-author · 3 since 2021Artificial intelligence and machine learning · 11Systems, architecture and hardware · 5 · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1
YearPublicationVenuePosition
2025 Accelerating CAR-Based Model-Checking with Multiple Unsatisfiable Cores
Yibo Dong 0001, Xiwei Wu, Geguang Pu, Ofer Strichman
SPIN5
2025 Revisiting Assumptions Ordering in CAR-Based Model Checking
abstract
Model checking is an automatic formal verification technique that is widely used in hardware verification. The state-of-the-art complete model-checking techniques, based on IC3/PDR and its general variant CAR, are based on computing symbolically sets of under- and over-approximating state sets (called “frames”) with multiple calls to a SAT solver. The performance of those techniques is sensitive to the order of the assumptions with which the SAT solver is invoked, because it affects the unsatisfiable cores that it emits if the formula is unsatisfiable—which the solver emits when the formula is unsatisfiable—that crucially affect the search process. This observation was previously published (Dureja et al., 2020), where two partial assumption ordering strategies, intersection and rotation were suggested (partial in the sense that they determine the order of only a subset of the literals). In this article we extend and improve these strategies based on an analysis of the reason for their effectiveness. We prove that intersection is effective because of what we call locality of the cores, and our improved strategy is based on this observation. We conclude our paper with an extensive empirical evaluation of the various ordering techniques. One of our strategies, Hybrid-CAR, which switches between strategies at runtime, not only outperforms other, fixed ordering strategies, but also outperforms other state-of-the-art bug-finding algorithms, such as ABC-BMC.
Yibo Dong 0001, Geguang Pu, Ofer Strichman
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.5
2024 Model-Guided Synthesis for LTL over Finite Traces
Shengping Xiao, Yicong Xu, Geguang Pu, Ofer Strichman, Moshe Y. Vardi
VMCAI (1)7
2022 Combining BMC and Complementary Approximate Reachability to Accelerate Bug-Finding
abstract
Bounded Model Checking (BMC) is so far considered as the best engine for bug-finding in hardware model checking. Given a bound K, BMC can detect if there is a counterexample to a given temporal property within K steps from the initial state, thus performing a global-style search. Recently, a SAT-based model-checking technique called Complementary Approximate Reachability (CAR) was shown to be complementary to BMC, in the sense that frequently they can solve instances that the other technique cannot, within the same time limit. CAR detects a counterexample gradually with the guidance of an over-approximating state sequence, and performs a local-style search. In this paper, we consider three different ways to combine BMC and CAR. Our experiments show that they all outperform BMC and CAR on their own, and solve instances that cannot be solved by these two techniques. Our findings are based on a comprehensive experimental evaluation using the benchmarks of two hardware model checking competitions.
Shengping Xiao, Geguang Pu, Ofer Strichman
ICCAD5
2022 Specifiable robustness in reactive synthesis
abstract
Abstract When synthesizing a system from a given specification, there is room for automatically adding various requirements, hence improving the resulting system. One such requirement covered extensively in past literature is that of robustness. In particular, the system can fail to read the inputs correctly from the environment, and the environment can fail to satisfy our assumptions about its behavior. Nevertheless, we want the system to still satisfy the specification even under these failures, in some limited way. It has to be limited because it is typically too strong of a requirement to realize the property regardless of the inputs and the environment’s assumptions. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than $$k$$ k consecutive steps and synthesize a system under this assumption. Furthermore, our framework enables us to specify a temporal recovery specification, which describes how the designer expects the system to recover after a failure of the environment assumptions. We show examples of robust systems that we synthesized with this method using our synthesis tool Party.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
Formal Methods Syst. Des.4
2021 Exploiting Isomorphic Subgraphs in SAT
Alexander Ivrii, Ofer Strichman
FMCAD2
2021 Vacuity in synthesis
abstract
Abstract In reactive synthesis, one begins with a temporal specification $$\varphi $$ φ , and automatically synthesizes a system $$M$$ M such that $$M\models \varphi $$ M ⊧ φ . As many systems can satisfy a given specification, it is natural to seek ways to force the synthesis tool to synthesize systems that are of a higher quality, in some well-defined sense. In this article we focus on a well-known measure of the way in which a system satisfies its specification, namely vacuity. Our conjecture is that if the synthesized system M satisfies $$\varphi $$ φ non-vacuously, then M is likely to be closer to the user’s intent, because it satisfies $$\varphi $$ φ in a more “meaningful” way. Narrowing the gap between the formal specification and the designer’s intent in this way, automatically, is the topic of this article. Specifically, we propose a bounded synthesis method for achieving this goal. The notion of vacuity as defined in the context of model checking, however, is not necessarily refined enough for the purpose of synthesis. Hence, even when the synthesized system is technically non-vacuous, there are yet more interesting (equivalently, less vacuous) systems, and we would like to be able to synthesize them. To that end, we cope with the problem of synthesizing a system that is as non-vacuous as possible, given that the set of interesting behaviours with respect to a given specification induce a partial order on transition systems. On the theoretical side we show examples of specifications for which there is a single maximal element in the partial order (i.e., the most interesting system), a set of equivalent maximal elements, or a number of incomparable maximal elements. We also show examples of specifications that induce infinite chains of increasingly interesting systems. These results have implications on how non-vacuous the synthesized system can be. We implemented the new procedure in our synthesis tool PARTY. For this purpose we added to it the capability to synthesize a system based on a property which is a conjunction of universal and existential LTL formulas.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
Formal Methods Syst. Des.4
2020 Learning the Language of Software Errors
abstract
We propose to use algorithms for learning deterministic finite automata (DFA), such as Angluin’s L* algorithm, for learning a DFA that describes the possible scenarios under which a given program error occurs. The alphabet of this automaton is given by the user (for instance, a subset of the function call sites or branches), and hence the automaton describes a user-defined abstraction of those scenarios. More generally, the same technique can be used for visualising the behavior of a program or parts thereof. It can also be used for visually comparing different versions of a program (by presenting an automaton for the behavior in the symmetric difference between them), and for assisting in merging several development branches. We present experiments that demonstrate the power of an abstract visual representation of errors and of program segments, accessible via the project’s web page. In addition, our experiments in this paper demonstrate that such automata can be learned efficiently over real-world programs. We also present lazy learning, which is a method for reducing the number of membership queries while using L*, and demonstrate its effectiveness on standard benchmarks.
Hana Chockler, Pascal Kesseli, Daniel Kroening, Ofer Strichman
J. Artif. Intell. Res.4
2019 Synthesizing Reactive Systems Using Robustness and Recovery Specifications
abstract
Past literature on synthesis identified the need to synthesize systems that are robust to failures of the system in reading the inputs from the environment, and also to failures of the environment itself to satisfy our assumptions about its behavior. In this work, we propose a simple and flexible framework for synthesizing robust systems, where the user defines the required robustness via a temporal robustness specification. For example, the user may specify that the environment is eventually reliable, or input misreadings cannot occur more than k consecutive steps, and synthesize a system under this assumption. Furthermore, our framework enables us to specify, also, a temporal recovery specification, i.e., describing the way the system is expected to recover after a failure of the environment assumptions. We show examples of robust systems that we have synthesized with this method by our synthesis tool PARTY.
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
FMCAD4
2019 Cyclic-routing of Unmanned Aerial Vehicles
Nir Drucker, Hsi-Ming Ho, Joël Ouaknine, Michal Penn, Ofer Strichman
J. Comput. Syst. Sci.5
2018 Special issue: program equivalence
Ofer Strichman
Formal Methods Syst. Des.1
2017 Synthesizing Non-Vacuous Systems
Roderick Bloem, Hana Chockler, Masoud Ebrahimi 0002, Ofer Strichman
VMCAI4
2016 Cyclic Routing of Unmanned Aerial Vehicles
Nir Drucker, Michal Penn, Ofer Strichman
CPAIOR3
2016 Regression Verification for Unbalanced Recursive Functions
Ofer Strichman, Maor Veitsman
FM1
2016 Minimal unsatisfiable core extraction for SMT
abstract
Finding a minimal (i.e., irreducible) unsatisfiable core (MUC), and high-level minimal unsatisfiable core (also known as group MUC, or GMUC), are well-studied problems in the domain of propositional satisfiability. In contrast, in the domain of SMT, no solver in the public domain produces a minimal or group-minimal core. Several SMT solvers, like Z3, produce a core but do not attempt to minimize it. The SMT solver MATHSAT has an option to try to make the core smaller, but does not guarantee minimality. In this article we present a method and tool, HSMTMUC, for finding MUC and GMUC for SMT solvers. The method is based on the well-known deletion-based MUC extraction that is used in most propositional MUC extractors, together with several new optimizations such as theory-rotation, and an adaptive activation strategy based on measurements, during execution, of the time consumed by various components, combined with exponential smoothing. We implemented HSMT-MUC on top of Z3 and MATHSAT, and evaluated its performance with hundreds of SMT-LIB benchmarks.
Ofer Guthmann, Ofer Strichman, Anna Trostanetski
FMCAD2
2016 Learning general constraints in CSP
Michael Veksler, Ofer Strichman
Artif. Intell.2
2015 Learning the Language of Error
Martin Chapman, Hana Chockler, Pascal Kesseli, Daniel Kroening, Ofer Strichman, Michael Tautschnig
ATVA5
2015 Learning General Constraints in CSP
Michael Veksler, Ofer Strichman
CPAIOR2
2015 Mining Backbone Literals in Incremental SAT - A New Kind of Incremental Data
Alexander Ivrii, Vadim Ryvchin, Ofer Strichman
SAT3
2015 Regression verification for multi-threaded programs (with extensions to locks and dynamic thread creation)
Sagar Chaki, Arie Gurfinkel, Ofer Strichman
Formal Methods Syst. Des.3
2015 Proving mutual termination
Dima Elenbogen, Shmuel Katz, Ofer Strichman
Formal Methods Syst. Des.3
2015 Model Counting of Monotone Conjunctive Normal Form Formulas with Spectra
abstract
Model counting is the #P problem of counting the number of satisfying solutions of a given propositional formula. Here we focus on a restricted variant of this problem, where the input formula is monotone (i.e., there are no negations). A monotone conjunctive normal form (CNF) formula is sufficient for modeling various graph problems, e.g., the vertex covers of a graph. Even for this restricted case, there is no known efficient approximation scheme. We show that the classical Spectra technique that is widely used in network reliability can be adapted for counting monotone CNF formulas. We prove that the proposed algorithm is logarithmically efficient for random monotone 2-CNF instances. Although we do not prove the efficiency of Spectra for k-CNF where k > 2, our experiments show that it is effective in practice for such formulas.
Radislav Vaisman, Ofer Strichman, Ilya B. Gertsbakh
INFORMS J. Comput.2
2014 Ultimately Incremental SAT
Alexander Nadel, Vadim Ryvchin, Ofer Strichman
SAT3
2013 Verifying periodic programs with priority inheritance locks
Sagar Chaki, Arie Gurfinkel, Ofer Strichman
FMCAD3
2013 Efficient MUS extraction with resolution
Alexander Nadel, Vadim Ryvchin, Ofer Strichman
FMCAD3
2013 Compositional Sequentialization of Periodic Programs
Sagar Chaki, Arie Gurfinkel, Soonho Kong, Ofer Strichman
VMCAI4
2013 Beyond vacuity: towards the strongest passing formula
Hana Chockler, Arie Gurfinkel, Ofer Strichman
Formal Methods Syst. Des.3
2013 Preface to the special issue "SI: Satisfiability Modulo Theories"
Ofer Strichman, Daniel Kroening
Formal Methods Syst. Des.1
2013 Regression verification: proving the equivalence of similar programs
abstract
SUMMARY Proving the equivalence of successive, closely related versions of a program has the potential of being easier in practice than functional verification, although both problems are undecidable. There are three main reasons for this claim: (i) it circumvents the problem of specifying what the program should do; (ii) the problem can be naturally decomposed and hence is computationally easier; and (iii) there is an automatic invariant that enables to prove equivalence of loops and recursive functions in most practical cases. Theoretical and practical aspects of this problem are considered. Copyright © 2012 John Wiley & Sons, Ltd.
Benny Godlin, Ofer Strichman
Softw. Test. Verification Reliab.2
2012 Preprocessing in Incremental SAT
Alexander Nadel, Vadim Ryvchin, Ofer Strichman
SAT3
2012 Regression Verification for Multi-threaded Programs
Sagar Chaki, Arie Gurfinkel, Ofer Strichman
VMCAI3
2011 Linear Completeness Thresholds for Bounded Model Checking
Daniel Kroening, Joël Ouaknine, Ofer Strichman, Thomas Wahl, James Worrell 0001
CAV3
2011 Time-bounded analysis of real-time systems
Sagar Chaki, Arie Gurfinkel, Ofer Strichman
FMCAD3
2011 Faster Extraction of High-Level Minimal Unsatisfiable Cores
Vadim Ryvchin, Ofer Strichman
SAT2
2011 Reducing the size of resolution proofs in linear time
Omer Bar-Ilan, Oded Fuhrmann, Shlomo Hoory, Ohad Shacham, Ofer Strichman
Int. J. Softw. Tools Technol. Transf.5
2011 A probabilistic analysis of coverage methods
abstract
Coverage is an important measure for the quality and completeness of the functional verification of hardware logic designs. Verification teams spend a significant amount of time looking for bugs in the design and in providing high-quality coverage. This process is performed through the use of various sampling strategies for selecting test inputs. The selection of sampling strategies to achieve the verification goals is typically carried out in an intuitive manner. We studied several commonly used sampling strategies and provide a probabilistic framework for assessing and comparing their relative values. For this analysis, we derived results for two measures of interest: first, the probability of finding a bug within a given number of samplings; and second, the expected number of samplings until a bug is detected. These results are given for both recurring sampling schemes, in which the same inputs might be selected repeatedly, and for nonrecurring sampling schemes, in which already sampled inputs are never selected again. By considering results from the theory of search, and more specifically, from the well-known multiarmed bandit problem, we demonstrate the optimality of a greedy sampling strategy within our defined framework.
Laurent Fournier, Avi Ziv, Ekaterina Kutsy, Ofer Strichman
ACM Trans. Design Autom. Electr. Syst.4
2010 A Proof-Producing CSP Solver
abstract
PCS is a CSP solver that can produce a machine-checkable deductive proof in case it decides that the input problem is unsatisfiable. The roots of the proof may be nonclausal constraints, whereas the rest of the proof is based on resolution of signed clauses, ending with the empty clause. PCS uses parameterized, constraint-specific inference rules in order to bridge between the nonclausal and the clausal parts of the proof. The consequent of each such rule is a signed clause that is 1) logically implied by the nonclausal premise, and 2) strong enough to be the premise of the consecutive proof steps. The resolution process itself is integrated in the learning mechanism, and can be seen as a generalization to CSP of a similar solution that is adopted by competitive SAT solvers.
Michael Veksler, Ofer Strichman
AAAI2
2010 Underapproximation for model-checking based on universal circuits
Arie Matsliah, Ofer Strichman
Inf. Comput.2
2009 Translation Validation: From Simulink to C
abstract
Translation validation is a technique for formally establishing the semantic equivalence of the source and the target of a code generator. In this work we present a translation validation tool for the Real-Time Workshop code generator that receives as input Simulink models and generates optimized C code. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Michael Ryabtsev, Ofer Strichman
CAV2
2009 Regression Verification: Proving the Equivalence of Similar Programs
Ofer Strichman
CAV1
2009 Regression verification
abstract
Proving the equivalence of successive, closely related versions of a program has the potential of being easier in practice than functional verification, although both problems are undecidable. There are two main reasons for this claim: it circumvents the problem of specifying what the program should do, and in many cases it is computationally easier. We study theoretical and practical aspects of this problem, which we call regression verification.
Benny Godlin, Ofer Strichman
DAC2
2009 Decision diagrams for linear arithmetic
abstract
Boolean manipulation and existential quantification of numeric variables from linear arithmetic (LA) formulas is at the core of many program analysis and software model checking techniques (e.g., predicate abstraction). We present a new data structure, Linear Decision Diagrams (LDDs), to represent formulas in LA and its fragments, which has certain properties that make it efficient for such tasks. LDDs can be seen as an extension of Difference Decision Diagrams (DDDs) to full LA. Beyond this extension, we make three key contributions. First, we extend sifting-based dynamic variable ordering (DVO) from BDDs to LDDs. Second, we develop, implement, and evaluate several algorithms for existential quantification. Third, we implement LDDs inside CUDD, a state-of-the-art BDD package, and evaluate them on a large benchmark consisting of 850 functions derived from the source code of 25 open source programs. Overall, our experiments indicate that LDDs are an effective data structure for program analysis tasks.
Sagar Chaki, Arie Gurfinkel, Ofer Strichman
FMCAD3
2009 A framework for Satisfiability Modulo Theories
abstract
Abstract We present a unifying framework for understanding and developing SAT-based decision procedures for Satisfiability Modulo Theories (SMT). The framework is based on a reduction of the decision problem to propositional logic by means of a deductive system. The two commonly used techniques, eager encodings (a direct reduction to propositional logic) and lazy encodings (a family of techniques based on an interplay between a SAT solver and a decision procedure) are identified as special cases. This framework offers the first generic approach for eager encodings, and a simple generalization of various lazy techniques that are found in the literature.
Daniel Kroening, Ofer Strichman
Formal Aspects Comput.2
2009 Before and after vacuity
Hana Chockler, Ofer Strichman
Formal Methods Syst. Des.2
2009 An abstraction-based decision procedure for bit-vector arithmetic
Randal E. Bryant, Daniel Kroening, Joël Ouaknine, Sanjit A. Seshia, Ofer Strichman, Bryan A. Brady
Int. J. Softw. Tools Technol. Transf.5
2008 Beyond Vacuity: Towards the Strongest Passing Formula
abstract
Given an LTL formula phi in negation normal form, it can be strengthened by replacing some of its literals with FALSE. Given such a formula and a model M that satisfies it, vacuity and mutual vacuity attempt to find one or a maximal set of literals, respectively, with which phi can be strengthened while still being satisfied by M. We study the problem of finding the strongest LTL formula that satisfies M and is in the Boolean closure of strengthened versions of phi as defined above. This formula is stronger or equally strong to any formula that can be obtained by vacuity and mutual vacuity. We present our algorithms in the framework of lattice automata.
Hana Chockler, Arie Gurfinkel, Ofer Strichman
FMCAD3
2008 A Theory-Based Decision Heuristic for DPLL(T)
abstract
We study the decision problem of disjunctive linear arithmetic over the reals from the perspective of computational geometry. We show that traversing the linear arrangement induced by the formula's predicates, rather than the DPLL(T) method of traversing the Boolean space, may have an advantage when the number of variables is smaller than the number of predicates (as it is indeed the case in the standard SMT-Lib benchmarks). We then continue by showing a branching heuristic that is based on approximating T-implications, based on a geometric analysis. We achieve modest improvement in run time comparing to the commonly used heuristic used by competitive solvers.
Dan Goldwasser, Ofer Strichman, Shai Fine
FMCAD2
2008 Local Restarts
Vadim Ryvchin, Ofer Strichman
SAT2
2008 Inference rules for proving the equivalence of recursive procedures
Benny Godlin, Ofer Strichman
Acta Informatica2
2008 Three optimizations for Assume-Guarantee reasoning with L*
Sagar Chaki, Ofer Strichman
Formal Methods Syst. Des.2
2008 An approach for extracting a small unsatisfiable core
Roman Gershman, Maya Koifman, Ofer Strichman
Formal Methods Syst. Des.3
2007 Underapproximation for Model-Checking Based on Random Cryptographic Constructions
Arie Matsliah, Ofer Strichman
CAV2
2007 Easier and More Informative Vacuity Checks
abstract
In formal verification, we verify that a system is correct with respect to a specification. Cases like antecedent failure can make a successful pass of the verification procedure meaningless. Vacuity detection can signal such "meaningless" passes of the specification, and indeed vacuity checks are now a standard component in many commercial model checkers. We address two dimensions of vacuity: the computational effort and the information that is given to the user. As for the first dimension, we present several preliminary vacuity checks that can be done without the design itself, which implies that some information can be found with a significantly smaller effort. As for the second dimension, we present algorithms for deriving three types of information that are not provided by standard vacuity checks, assuming M \= phi for a model M and property phi: a) behaviors that are possibly missing from M (or wrongly restricted by the environment) b) the largest subset of occurrences of literals in phi that can be replaced with false simultaneously without falsifying phi in M, and finally c) the degree of responsibility of each occurrence of a literal in phi to its satisfaction in the model M, which can be seen as a fine-grain form of vacuity. The complexity of each of these problems is proven. Overall this extra information can lead to tighter specifications and more guidance for finding errors.
Hana Chockler, Ofer Strichman
MEMOCODE2
2007 Deciding Bit-Vector Arithmetic with Abstraction
Randal E. Bryant, Daniel Kroening, Joël Ouaknine, Sanjit A. Seshia, Ofer Strichman, Bryan A. Brady
TACAS5
2007 Optimized L*-Based Assume-Guarantee Reasoning
Sagar Chaki, Ofer Strichman
TACAS2
2006 Deriving Small Unsatisfiable Cores with Dominators
Roman Gershman, Maya Koifman, Ofer Strichman
CAV3
2006 Building small equality graphs for deciding equality logic with uninterpreted functions
Yoav Rodeh, Ofer Strichman
Inf. Comput.2
2006 Error explanation with distance metrics
Alex Groce, Sagar Chaki, Daniel Kroening, Ofer Strichman
Int. J. Softw. Tools Technol. Transf.4
2005 Abstraction Refinement for Bounded Model Checking
Anubhav Gupta 0001, Ofer Strichman
CAV2
2005 Yet Another Decision Procedure for Equality Logic
Orly Meir, Ofer Strichman
CAV2
2005 Proof-guided underapproximation-widening for multi-process systems
abstract
This paper presents a procedure for the verification of multi-process systems based on considering a series of underapproximated models. The procedure checks models with an increasing set of allowed interleavings of the given set of processes, starting from a single interleaving. The procedure relies on SAT solvers' ability to produce proofs of unsatisfiability: from these proofs it derives information that guides the process of adding interleavings on the one hand, and determines termination on the other. The presented approach is integrated in a SAT-based Bounded Model Checking (BMC) framework. Thus, a BMC formulation of a multi-process system is introduced, which allows controlling which interleavings are considered. Preliminary experimental results demonstrate the practical impact of the presented method.
Orna Grumberg, Flavio Lerda, Ofer Strichman, Michael Theobald
POPL3
2005 Cost-Effective Hyper-Resolution for Preprocessing CNF Formulas
Roman Gershman, Ofer Strichman
SAT2
2005 Introductory paper
Armin Biere, Ofer Strichman
Int. J. Softw. Tools Technol. Transf.2
2005 Computational challenges in bounded model checking
Edmund M. Clarke, Daniel Kroening, Joël Ouaknine, Ofer Strichman
Int. J. Softw. Tools Technol. Transf.4
2004 Abstraction-Based Satisfiability Solving of Presburger Arithmetic
Daniel Kroening, Joël Ouaknine, Sanjit A. Seshia, Ofer Strichman
CAV4
2004 Range Allocation for Separation Logic
abstract
Separation Logic consists of a Boolean combination of predicates of the form v i ≥ v j + c where c is a constant and v i ,v j are variables of some ordered infinite type like real or integer. Any equality or inequality can be expressed in this logic. We propose a decision procedure for Separation Logic based on allocating small domains (ranges) to the formula’s variables that are sufficient for preserving satisfiability. Given a Separation Logic formula φ, our procedure constructs the inequalities graph of φ, based on φ’s predicates. This graph represents an abstraction of the formula, as there are many formulas with the same set of predicates. Our procedure then analyzes this graph and allocates a range to each variable that is adequate for all of these formulas. This approach of finding small finite ranges and enumerating them symbolically is both theoretically and empirically more efficient than methods based on case-splitting or reduction to Propositional Logic. Experimental results show that the state-space (that is, the number of assignments that need to be enumerated) allocated by our procedure is frequently exponentially smaller than previous methods.
Muralidhar Talupur, Nishant Sinha 0001, Ofer Strichman, Amir Pnueli
CAV3
2004 Explaining abstract counterexamples
abstract
When a program violates its specification a model checker produces a counterexample that shows an example of undesirable behavior. It is up to the user to understand the error, locate it, and fix the problem. Previous work introduced a technique for explaining and localizing errors based on finding the closest execution to a counterexample, with respect to a distance metric. That approach was applied only to concrete executions of programs. This paper extends and generalizes the approach by combining it with predicate abstraction. Using an abstract state-space increases scalability and makes explanations more informative. Differences between executions are presented in terms of predicates derived from the specification and program, rather than specific changes to variable values. Reasoning to the cause of an error from the factthat in the failing run x < y, but in the successful execution x = y is easier than reasoning from the information that in the failing run y = 239, but in the successful execution y = 232. An abstract explanation is automatically generalized
Sagar Chaki, Alex Groce, Ofer Strichman
SIGSOFT FSE3
2004 Completeness and Complexity of Bounded Model Checking
Edmund M. Clarke, Daniel Kroening, Joël Ouaknine, Ofer Strichman
VMCAI4
2004 Efficient Verification of Sequential and Concurrent C Programs
Sagar Chaki, Edmund M. Clarke, Alex Groce, Joël Ouaknine, Ofer Strichman, Karen Yorav
Formal Methods Syst. Des.5
2004 Accelerating Bounded Model Checking of Safety Properties
Ofer Strichman
Formal Methods Syst. Des.1
2004 SAT-based counterexample-guided abstraction refinement
abstract
We describe new techniques for model checking in the counterexample-guided abstraction-refinement framework. The abstraction phase "hides" the logic of various variables, hence considering them as inputs. This type of abstraction may lead to "spurious" counterexamples, i.e., traces that cannot be simulated on the original (concrete) machine. We check whether a counterexample is real or spurious with a satisfiability (SAT) checker. We then use a combination of 0-1 integer linear programming and machine learning techniques for refining the abstraction based on the counterexample. The process is repeated until either a real counterexample is found or the property is verified. We have implemented these techniques on top of the model checker NuSMV and the SAT solver Chaff. Experimental results prove the viability of these new techniques.
Edmund M. Clarke, Anubhav Gupta 0001, Ofer Strichman
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.3
2003 Efficient Computation of Recurrence Diameters
Daniel Kroening, Ofer Strichman
VMCAI2
2003 Erratum ("The small model property: how small can it be?" Volume 178, Number 1 [2002], pages 279-293)
Amir Pnueli, Yoav Rodeh, Ofer Strichman, Michael Siegel
Inf. Comput.3
2002 SAT Based Abstraction-Refinement Using ILP and Machine Learning Techniques
abstract
We describe new techniques for model checking in the counterexample guided abstraction/refinement framework. The abstraction phase ‘hides’ the logic of various variables, hence considering them as inputs. This type of abstraction may lead to ‘spurious’ counterexamples, i.e. traces that can not be simulated on the original (concrete) machine. We check whether a counterexample is real or spurious with a SAT checker. We then use a combination of Integer Linear Programming (ILP) and machine learning techniques for refining the abstraction based on the counterexample. The process is repeated until either a real counterexample is found or the property is verified. We have implemented these techniques on top of the model checker NuSMV and the SAT solver Chaff. Experimental results prove the viability of these new techniques. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Edmund M. Clarke, Anubhav Gupta 0001, James H. Kukula, Ofer Strichman
CAV4
2002 Deciding Separation Formulas with SAT
Ofer Strichman, Sanjit A. Seshia, Randal E. Bryant
CAV1
2002 On Solving Presburger and Linear Arithmetic with SAT
Ofer Strichman
FMCAD1
2002 The Small Model Property: How Small Can It Be?
Amir Pnueli, Yoav Rodeh, Ofer Strichman, Michael Siegel
Inf. Comput.3
2001 Finite Instantiations in Equivalence Logic with Uninterpreted Functions
Yoav Rodeh, Ofer Strichman
CAV2
2001 Range Allocation for Equivalence Logic
Amir Pnueli, Yoav Rodeh, Ofer Strichman
FSTTCS3
2000 Tuning SAT Checkers for Bounded Model Checking
Ofer Strichman
CAV1
1999 Deciding Equality Formulas by Small Domains Instantiations
Amir Pnueli, Yoav Rodeh, Ofer Strichman, Michael Siegel
CAV3
1998 Translation Validation for Synchronous Languages
Amir Pnueli, Ofer Strichman, Michael Siegel
ICALP2
1998 The Code Validation Tool CVT: Automatic Verification of a Compilation Process
Amir Pnueli, Ofer Strichman, Michael Siegel
Int. J. Softw. Tools Technol. Transf.2