EDBT 2026 Demo / reviewers in the wild / expert
Vijay Ganesh 0001
dblp:g/VijayGanesh
· DBLP profile ↗
95ranked-venue papers
6as first author
40since 2021 · last 2026
0000-0002-6029-2047ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Artificial intelligence and machine learning · 47 · 1 first-author · 23 since 2021Theory of computation · 39 · 5 first-author · 15 since 2021Software engineering, systems software and programming languages · 33 · 4 first-author · 9 since 2021Graphics, computer vision, multimedia, augmented reality and games · 22 · 15 since 2021Security and privacy · 6Systems, architecture and hardware · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Learning Unified Graph and Language Representations for SMT Algorithm SelectionabstractAlgorithm selection is important in satisfiability and constraint solving, since no single solver performs best across all instances. Traditional learning-based approaches represent problem instances using expert-designed features to predict solver performance, while recent work explores graph representations derived from ASTs. However, most existing approaches overlook high-level contextual information, such as the application domain or the benchmark origin. In practice, such cues often help practitioners choose an appropriate solver. We present SMT-Select, a multimodal framework for SMT algorithm selection. It learns graph representations from formula ASTs and textual representations from natural-language context descriptions. These representations are then combined to guide solver selection. Evaluated across nine SMT logics, SMT-Select consistently outperforms existing selectors and SMT-COMP winning solvers. Across all evaluated logics, it closes at least 30% of the performance gap between the competition winner and the virtual best solver (VBS), and nearly matches the VBS in two logics. Zhengyang Lu 0002, Paul Sarnighausen-Cahn, Arie Gurfinkel, Florin Manea, Vijay Ganesh 0001 |
CP | 6 |
| 2026 | An Exponential Separation Between Deterministic CDCL and DPLL SolversabstractWe prove that there exists a deterministic configuration of Conflict-Driven Clause Learning (CDCL) SAT solvers using a variant of the VSIDS branching heuristic that solves instances of the Ordering Principle (OP) CNF formulas in time polynomial in n, where n is the number of variables in such formulas. Since tree-like resolution is known to have an exponential lower bound for proof size for OP formulas, it follows that CDCL under this configuration has an exponential separation with any solver that is polynomially equivalent to tree-like resolution and therefore any configuration of DPLL SAT solvers. Sahil Samar, Marc Vinyals, Vijay Ganesh 0001 |
SAT | 3 |
| 2026 | LLMTutorBench: A Benchmark for University-level TCS AI Tutoring SystemsabstractLarge Language Models (LLMs) are transforming Intelligent Tutoring Systems (ITS) via more natural explanations, multi-turn dialogue, and more adaptive support for students. Yet their effectiveness depends on rigorous benchmarking to ensure reliability, fairness, and pedagogical soundness. Such benchmarking relies on detailed student data, especially data that accurately reflects the actual distribution of wrong answers and misconceptions. A robust dataset of domain-specific wrong answers and misconceptions is critical for the ITS research community. Such a dataset enables training and testing of LLM-based ITS designed to correct misconceived student responses and guide students appropriately. Unfortunately, in advanced areas such as Theoretical Computer Science (TCS), such data are scarce, costly to collect, and limited by privacy concerns. To address this problem, we propose a synthetic data generation technique grounded in real-world data. First, we curate a set of human-generated (question, answer, misconception) tuples to seed an LLM with the goal of generating a corpus of incorrect answers that resemble the kinds of mistakes students make while solving undergraduate-level math and algorithmic problems. Then, we prompt LLMs to generate a dataset with a similar distribution of mistakes. Once validated for one topic, the technique can be transferred to others. Our goal is to lay the groundwork for scalable benchmarks that enable rigorous evaluation and broader adoption of LLM-based tutoring systems in the most conceptually demanding areas of computer science education, namely, Theoretical Computer Science. Anant Gupta, Carine G. Webber, Justin Stevens 0001, Abrahim Ladha, Sanika Ainchwar, Vijay Ganesh 0001 |
SIGCSE (2) | 7 |
| 2026 | Extended Resolution Clause Learning via Dual Implication PointsabstractWe present a new extended resolution clause learning (ERCL) algorithm, implemented as part of a conflict-driven clause-learning (CDCL) SAT solver, wherein new variables are dynamically introduced as definitions for {\it Dual Implication Points} (DIPs) in the implication graph constructed by the solver at runtime. DIPs are generalizations of unique implication points and can be informally viewed as a pair of dominator nodes, from the decision variable at the highest decision level to the conflict node, in an implication graph. We perform extensive experimental evaluation to establish the efficacy of our ERCL method, implemented as part of the MapleLCM SAT solver and dubbed xMapleLCM, against several leading solvers including the baseline MapleLCM, as well as CDCL solvers such as Kissat 3.1.1, CryptoMiniSat 5.11, and SBVA+CaDiCaL, the winner of SAT Competition 2023. We show that xMapleLCM outperforms these solvers on Tseitin and XORified formulas. We further compare xMapleLCM with GlucoseER, a system that implements extended resolution in a different way, and provide a detailed comparative analysis of their performance. Samuel R. Buss, Jonathan Chung 0003, Vijay Ganesh 0001, Albert Oliveras |
Log. Methods Comput. Sci. | 3 |
| 2025 | Algorithm Selection for Word-Level Hardware Model Checking (Student Abstract)abstractWe build the first machine-learning-based algorithm selection tool for hardware verification described in the Btor2 format. In addition to hardware verifiers, our tool also selects from a set of software verifiers to solve a given Btor2 instance, enabled by a Btor2-to-C translator. We propose two embeddings for a Btor2 instance, Bag of Keywords and Bit-Width Aggregation. Pairwise classifiers are applied for algorithm selection. Upon evaluation, our tool Btor2-Select solves 30.0% more instances and reduces PAR-2 by 50.2%, compared to the PDR implementation in the HWMCC'20 winner model checker AVR. Measured by the Shapley values, the software verifiers collectively contributed 27.2% to Btor2-Select's performance. Zhengyang Lu 0002, Po-Chun Chien, Nian-Ze Lee, Vijay Ganesh 0001 |
AAAI | 4 |
| 2025 | LLM Stinger: Jailbreaking LLMs Using RL Fine-Tuned LLMs (Student Abstract)abstractWe introduce LLM Stinger, a novel approach that leverages Large Language Models (LLMs) to automatically generate adversarial suffixes for jailbreak attacks. Unlike traditional methods, which require complex prompt engineering or white-box access, LLM Stinger uses a reinforcement learning (RL) loop to fine-tune an attacker LLM, generating new suffixes based on existing attacks for harmful questions from the HarmBench benchmark. Our method significantly outperforms existing red-teaming approaches (we compared against 15 of the latest methods), achieving a +57.2% improvement in Attack Success Rate (ASR) on LLaMA2-7B-chat and a +50.3% ASR increase on Claude 2, both models known for their extensive safety measures. Additionally, we achieved a 94.97% ASR on GPT-3.5 and 99.4% on Gemma-2B-it, demonstrating the robustness and adaptability of LLM Stinger across open and closed-source models. Piyush Jha, Arnav Arora, Vijay Ganesh 0001 |
AAAI | 3 |
| 2025 | Btor2-Select: Machine Learning Based Algorithm Selection for Hardware Model CheckingabstractAbstract In recent years, a diverse variety of hardware model-checking tools and techniques that exhibit complementary strengths and distinct weaknesses have been proposed. This state of affairs naturally suggests the use of algorithm-selection techniques to select the right tool for a given instance. To automate this process, we present Btor2-Select , a machine learning-based algorithm-selection framework for the hardware model-checking problem described in the word-level modeling language Btor2 . The framework offers an efficient and effective machine-learning pipeline for training an algorithm selector. Btor2-Select also enables the use of the trained selector to predict the most suitable off-the-shelf model checker for a given verification task and automatically invoke it to solve the task. Evaluated on a comprehensive Btor2 benchmark suite coupled with a set of state-of-the-art model checkers, Btor2-Select trained an algorithm selector that successfully closed over 65 % of the PAR-2 performance gap between the best single tool and the idealized virtual selector. Moreover, the selector outperformed a portfolio model checker that runs three complementary verification engines in parallel. Btor2-Select offers a simple, systematic, and extensible solution to harness the complementary strengths of diverse model checkers. With its fast and highly configurable training procedure, Btor2-Select can be easily integrated with new tools and applied to various application domains. Zhengyang Lu 0002, Po-Chun Chien, Nian-Ze Lee, Arie Gurfinkel, Vijay Ganesh 0001 |
CAV (1) | 5 |
| 2025 | RLSF: Fine-tuning LLMs via Symbolic FeedbackabstractLarge Language Models (LLMs) have transformed AI but often struggle with tasks that require domain-specific reasoning and logical alignment. Traditional fine-tuning methods do not leverage the vast amount of symbolic domain-knowledge available to us via symbolic reasoning tools (e.g., provers), and are further limited by sparse rewards and unreliable reward models. We introduce Reinforcement Learning via Symbolic Feedback (RLSF), a novel fine-tuning paradigm where symbolic reasoning tools (e.g., solvers, provers, and algebra systems) provide fine-grained feedback to LLMs. RLSF uses poly-sized certificates (e.g., proofs) generated by symbolic tools to identify and correct errors in model outputs, offering token-level guidance without requiring differentiable reasoning systems. This paradigm bridges the gap between symbolic reasoning and LLM fine-tuning, enabling precise alignment with domain-specific constraints while addressing key limitations of traditional reward signals. Via extensive evaluations, we show that our RLSF-based fine-tuning of LLMs outperforms traditional approaches on five different applications (that have some associated logical or domain constraints), namely, program synthesis from natural language pseudo-code to programming language (+31.43% in functional correctness for Google’s CodeGemma-2b compared to supervised fine-tuning, +17.01% in functional correctness compared to GPT-3.5 – 100× larger), three chemistry tasks (+5.5% exact match for molecule generation, +19.4% exact match for forward synthesis, +33.7% exact match for retrosynthesis, using Meta’s Galactica-1.3b, compared to GPT-4 – 1000× larger), and solving the Game of 24 (+25% success rate using Meta’s Llama2-7b compared to traditional methods, and +7% success rate compared to GPT-3.5 – 25× larger). A key takeaway is that fine-tuning via RLSF enables relatively smaller LLMs to significantly outperform closed-source models that are orders of magnitude larger. Piyush Jha, Prithwish Jana, Pranavkrishna Suresh, Arnav Arora, Vijay Ganesh 0001 |
ECAI | 5 |
| 2025 | Robustness of Deep Learning Classification to Adversarial Input on GPUs: Asynchronous Parallel Accumulation Is a Source of Vulnerability
Sanjif Shanmugavelu, Mathieu Taillefumier, Christopher Culver, Vijay Ganesh 0001, Oscar R. Hernandez, Ada Sedova |
Euro-Par (2) | 4 |
| 2025 | Can Transformers Reason Logically? A Study in SAT SolvingabstractWe formally study the logical reasoning capabilities of decoder-only Transformers in the context of the boolean satisfiability (SAT) problem. First, we prove by construction that decoder-only Transformers can decide 3-SAT, in a non-uniform model of computation, using backtracking and deduction via Chain-of-Thought (CoT). Second, we implement our construction as a PyTorch model with a tool (PARAT) that we designed to empirically demonstrate its correctness and investigate its properties. Third, rather than programming a transformer to reason, we evaluate empirically whether it can be trained to do so by learning directly from algorithmic traces (“reasoning paths”) from our theoretical construction. The trained models demonstrate strong out-of-distribution generalization on problem sizes seen during training but has limited length generalization, which is consistent with the implications of our theoretical result. Leyan Pan, Vijay Ganesh 0001, Jacob D. Abernethy, Chris Esposo, Wenke Lee |
ICML | 2 |
| 2025 | Verified Certificates via SAT and Computer Algebra Systems for the Ramsey R(3, 8) and R(3, 9) ProblemsabstractThe Ramsey problem R(3,k) seeks to determine the smallest value of n such that any red/blue edge coloring of the complete graph on n vertices must either contain a blue triangle (3-clique) or a red clique of size k. Despite its significance, many previous computational results for the Ramsey R(3,k) problem such as R(3,8) and R(3,9) lack formal verification. To address this issue, we use the software MathCheck to generate certificates for Ramsey problems R(3,8) and R(3,9) (and symmetrically R(8,3) and R(9,3)) by integrating a Boolean satisfiability (SAT) solver with a computer algebra system (CAS). Our SAT+CAS approach significantly outperforms traditional SAT-only methods, demonstrating an improvement of several orders of magnitude in runtime. For instance, our SAT+CAS approach solves R(3,8) (resp., R(8,3)) sequentially in 59 hours (resp., in 11 hours), while a SAT-only approach using state-of-the-art CaDiCaL solver times out after 7 days. Additionally, in order to be able to scale to harder Ramsey problems R(3,9) and R(9,3) we further optimized our SAT+CAS tool using a parallelized cube-and-conquer approach. Our results provide the first independently verifiable certificates for these Ramsey numbers, ensuring both correctness and completeness of the exhaustive search process of our SAT+CAS tool. Zhengyu Li 0002, Conor Duggan, Curtis Bright, Vijay Ganesh 0001 |
IJCAI | 4 |
| 2025 | Novel tree-search method for synthesizing SMT strategiesabstractAbstract Modern SMT solvers, such as Z3, allow solver users to customize strategies to improve performance on their specific use cases. However, handcrafting an optimized strategy for a specific class of SMT instances remains a complex and demanding task for both solver developers and users alike. In this paper, we address the problem of automated SMT strategy synthesis via a novel method based on Monte-Carlo Tree Search (MCTS). We formulate strategy synthesis as a sequential decision-making process, where the search tree corresponds to the strategy space. Subsequently, we employ MCTS to navigate this vast search space. Compared to the conventional MCTS, we introduce two heuristics—layered and staged search—that enable our method to identify effective strategies with lower costs. We implement our method, dubbed Z3alpha, upon the Z3 SMT solver. Our experiments demonstrate that Z3alpha outperforms the default Z3 solver and the state-of-the-art synthesis tool Fastsmt on the majority of the evaluated benchmark sets, while producing more interpretable strategies than FastSMT. At SMT-COMP’24, among the 16 participating logics, Z3alpha improved upon the default Z3 in 12 cases and helped solve hundreds more instances in QF_NIA and QF_NRA, winning their respective divisions. Zhengyang Lu 0002, Joel D. Day, Piyush Jha, Paul Sarnighausen-Cahn, Stefan Siemer, Florin Manea, Vijay Ganesh 0001 |
Acta Informatica | 7 |
| 2025 | Improving and Understanding the Power of Satisfaction-Driven Clause LearningabstractIn this paper, we explain how to improve Satisfaction-Driven Clause Learning (SDCL) SAT solvers by using a MaxSAT-based technique that enables them to learn shorter, and hence better, redundant clauses. A thorough empirical evaluation of an implementation on the MapleSAT solver shows that the resulting system solves Mutilated Chess Board (MCB) problems significantly faster than CDCL solvers, without requiring any alteration to the branching heuristic used by the underlying CDCL SAT solver. Additionally we improve the understanding of the power of these solvers by proving that, given a refutation of a formula that consists of resolution and redundant-clause addition steps, an SDCL solver is able to produce a proof whose size is polynomial with respect to the size of the original refutation. Albert Oliveras, Chunxiao (Ian) Li, Darryl Wu, Jonathan Chung 0003, Vijay Ganesh 0001 |
J. Artif. Intell. Res. | 5 |
| 2024 | A SAT Solver and Computer Algebra Attack on the Minimum Kochen-Specker Problem (Student Abstract)abstractThe problem of finding the minimum three-dimensional Kochen–Specker (KS) vector system, an important problem in quantum foundations, has remained open for over 55 years. We present a new method to address this problem based on a combination of a Boolean satisfiability (SAT) solver and a computer algebra system (CAS). Our approach improved the lower bound on the size of a KS system from 22 to 24. More importantly, we provide the first computer-verifiable proof certificate of a lower bound to the KS problem with a proof size of 41.6 TiB for order 23. The efficiency is due to the powerful combination of SAT solvers and CAS-based orderly generation. Zhengyu Li 0002, Curtis Bright, Vijay Ganesh 0001 |
AAAI | 3 |
| 2024 | A SAT + Computer Algebra System Verification of the Ramsey Problem R(3, 8) (Student Abstract)abstractThe Ramsey problem R(3,8) asks for the smallest n such that every red/blue coloring of the complete graph on n vertices must contain either a blue triangle or a red 8-clique. We provide the first certifiable proof that R(3,8) = 28, automatically generated by a combination of Boolean satisfiability (SAT) solver and a computer algebra system (CAS). This SAT+CAS combination is significantly faster than a SAT-only approach. While the R(3,8) problem was first computationally solved by McKay and Min in 1992, it was not a verifiable proof. The SAT+CAS method that we use for our proof is very general and can be applied to a wide variety of combinatorial problems. Conor Duggan, Zhengyu Li 0002, Curtis Bright, Vijay Ganesh 0001 |
AAAI | 4 |
| 2024 | BertRLFuzzer: A BERT and Reinforcement Learning Based Fuzzer (Student Abstract)abstractWe present a novel tool BertRLFuzzer, a BERT and Reinforcement Learning (RL) based fuzzer aimed at finding security vulnerabilities for Web applications. BertRLFuzzer works as follows: given a set of seed inputs, the fuzzer performs grammar-adhering and attack-provoking mutation operations on them to generate candidate attack vectors. The key insight of BertRLFuzzer is the use of RL with a BERT model as an agent to guide the fuzzer to efficiently learn grammar-adhering and attack-provoking mutation operators. In order to establish the efficacy of BertRLFuzzer we compare it against a total of 13 black box and white box fuzzers over a benchmark of 9 victim websites with over 16K LOC. We observed a significant improvement, relative to the nearest competing tool in terms of time to first attack (54% less), new vulnerabilities found (17 new vulnerabilities), and attack rate (4.4% more attack vectors generated). Piyush Jha, Joseph Scott, Jaya Sriram Ganeshna, Mudit Singh, Vijay Ganesh 0001 |
AAAI | 5 |
| 2024 | CoTran: An LLM-Based Code Translator Using Reinforcement Learning with Feedback from Compiler and Symbolic ExecutionabstractIn this paper, we present an LLM-based code translation method and an associated tool called CoTran, that translates whole-programs from one high-level programming language to another. Existing LLM-based code translation methods lack training to ensure that the translated code reliably compiles or bears substantial functional equivalence to the input code. In our work, we fine-tune an LLM using reinforcement learning, incorporating compiler feedback, and symbolic execution (symexec)-based testing feedback to assess functional equivalence between the input and output programs. The idea is to guide an LLM during fine-tuning, via compiler and symexec-based testing feedback, by letting it know how far it is from producing perfect translations. We conduct extensive experiments comparing CoTran with 14 other code translation tools, including human-written transpilers, LLM-based translation tools, and ChatGPT. Using a benchmark of over 57,000 code pairs in Java and Python, we demonstrate that CoTran outperforms the other tools on relevant metrics such as compilation accuracy (CompAcc) and functional equivalence accuracy (FEqAcc). For example, in Python-to-Java translation, CoTran achieves 48.68% FEqAcc and 76.98% CompAcc, whereas the nearest competing tool (PLBART-base) gets 38.26% and 75.77% respectively. Additionally, CoTran, built on top of CodeT5, improves FEqAcc by +14.89% and CompAcc by +8.14% for Python-to-Java (resp., +12.94% and +4.30% for Java-to-Python). Prithwish Jana, Piyush Jha, Haoyang Ju, Gautham Kishore, Aryan Mahajan, Vijay Ganesh 0001 |
ECAI | 6 |
| 2024 | A SAT Solver + Computer Algebra Attack on the Minimum Kochen-Specker Problem
Zhengyu Li 0002, Curtis Bright, Vijay Ganesh 0001 |
IJCAI | 3 |
| 2024 | Layered and Staged Monte Carlo Tree Search for SMT Strategy Synthesis
Zhengyang Lu 0002, Stefan Siemer, Piyush Jha, Joel D. Day, Florin Manea, Vijay Ganesh 0001 |
IJCAI | 6 |
| 2024 | A Closer Look at the Expressive Power of Logics Based on Word EquationsabstractAbstract Word equations are equations $$\alpha \doteq \beta $$ α ≐ β where $$\alpha $$ α and $$\beta $$ β are words consisting of letters from some alphabet $$\Sigma $$ Σ and variables from a set X. Recently, there has been substantial interest in the context of string solving in logics combining word equations with other kinds of constraints on words such as (regular) language membership (regular constraints) and arithmetic over string lengths (length constraints). We consider the expressive power of such logics by looking at the set of all values a single variable might take as part of a satisfying assignment for a given formula. Hence, each formula-variable pair defines a formal language, and each logic defines a class of formal languages. We consider logics arising from combining word equations with either length constraints, regular constraints, or both. We also consider word equations with visibly pushdown language membership constraints as a generalisation of the combination of regular and length constraints. We show that word equations with visibly pushdown membership constraints are sufficient to express all recursively enumerable languages and hence satisfiability is undecidable in this case. We then establish a strict hierarchy involving the other combinations. We also provide a complete characterisation of when a thin regular language is expressible by word equations (alone) and some further partial results for regular languages in the general case. Joel D. Day, Vijay Ganesh 0001, Nathan Grewal, Matthew Konefal, Florin Manea |
Theory Comput. Syst. | 2 |
| 2023 | Robust Training for AC-OPF (Student Abstract)abstractElectricity network operators use computationally demanding mathematical models to optimize AC power flow (AC-OPF). Recent work applies neural networks (NN) rather than optimization methods to estimate locally optimal solutions. However, NN training data is costly and current models cannot guarantee optimal or feasible solutions. This study proposes a robust NN training approach, which starts with a small amount of seed training data and uses iterative feedback to generate additional data in regions where the model makes poor predictions. The method is applied to non-linear univariate and multivariate test functions, and an IEEE 6-bus AC-OPF system. Results suggest robust training can achieve NN prediction performance similar to, or better than, regular NN training, while using significantly less data. Fuat Can Beylunioglu, Mehrdad Pirnia, P. Robert Duimering, Vijay Ganesh 0001 |
AAAI | 4 |
| 2023 | Grounding Neural Inference with Satisfiability Modulo TheoriesabstractRecent techniques that integrate solver layers into Deep Neural Networks (DNNs) have shown promise in bridging a long-standing gap between inductive learning and symbolic reasoning techniques. In this paper we present a set of techniques for integrating Satisfiability Modulo Theories (SMT) solvers into the forward and backward passes of a deep network layer, called SMTLayer.
Using this approach, one can encode rich domain knowledge into the network in the form of mathematical formulas.
In the forward pass, the solver uses symbols produced by prior layers, along with these formulas, to construct inferences; in the backward pass, the solver informs updates to the network, driving it towards representations that are compatible with the solver's theory.
Notably, the solver need not be differentiable. We implement SMTLayer as a Pytorch module, and our empirical results show that it leads to models that 1) require fewer training samples than conventional models, 2) that are robust to certain types of covariate shift, and 3) that ultimately learn representations that are consistent with symbolic knowledge, and thus naturally interpretable. Zifan Wang 0001, Saranya Vijayakumar, Kaiji Lu, Vijay Ganesh 0001, Somesh Jha, Matt Fredrikson |
NeurIPS | 4 |
| 2023 | Learning Shorter Redundant Clauses in SDCL Using MaxSAT
Albert Oliveras, Chunxiao (Ian) Li, Darryl Wu, Jonathan Chung 0003, Vijay Ganesh 0001 |
SAT | 5 |
| 2023 | Limits of CDCL Learning via Merge ResolutionabstractIn their seminal work, Atserias et al. and independently Pipatsrisawat and Darwiche in 2009 showed that CDCL solvers can simulate resolution proofs with polynomial overhead. However, previous work does not address the tightness of the simulation, i.e., the question of how large this overhead needs to be. In this paper, we address this question by focusing on an important property of proofs generated by CDCL solvers that employ standard learning schemes, namely that the derivation of a learned clause has at least one inference where a literal appears in both premises (aka, a merge literal). Specifically, we show that proofs of this kind can simulate resolution proofs with at most a linear overhead, but there also exist formulas where such overhead is necessary or, more precisely, that there exist formulas with resolution proofs of linear length that require quadratic CDCL proofs. Marc Vinyals, Chunxiao (Ian) Li, Noah Fleming, Antonina Kolokolova, Vijay Ganesh 0001 |
SAT | 5 |
| 2023 | On the Expressive Power of String ConstraintsabstractWe investigate properties of strings which are expressible by canonical types of string constraints. Specifically, we consider a landscape of 20 logical theories, whose syntax is built around combinations of four common elements of string constraints: language membership (e.g. for regular languages), concatenation, equality between string terms, and equality between string-lengths. For a variable x and formula f from a given theory, we consider the set of values for which x may be substituted as part of a satisfying assignment, or in other words, the property f expresses through x. Since we consider string-based logics, this set is a formal language. We firstly consider the relative expressive power of different combinations of string constraints by comparing the classes of languages expressible in the corresponding theories, and are able to establish a mostly complete picture in this regard. Secondly, we consider the question of deciding whether the language or property expressed by a variable/formula in one theory can be expressed in another theory. We establish several negative results which are relevant to preprocessing and normalisation of string constraints in practice. Some of our results have strong connections to important open problems regarding word equations and the theory of string solving. Joel D. Day, Vijay Ganesh 0001, Nathan Grewal, Florin Manea |
Proc. ACM Program. Lang. | 2 |
| 2023 | Algorithm selection for SMT
Joseph Scott, Aina Niemetz, Mathias Preiner, Saeed Nejati, Vijay Ganesh 0001 |
Int. J. Softw. Tools Technol. Transf. | 5 |
| 2023 | Publisher Correction: Algorithm selection for SMT
Joseph Scott, Aina Niemetz, Mathias Preiner, Saeed Nejati, Vijay Ganesh 0001 |
Int. J. Softw. Tools Technol. Transf. | 5 |
| 2023 | Towards more efficient methods for solving regular-expression heavy string constraints
Murphy Berzish, Joel D. Day, Vijay Ganesh 0001, Mitja Kulczynski, Florin Manea, Federico Mora 0002, Dirk Nowotka |
Theor. Comput. Sci. | 3 |
| 2022 | A Solver + Gradient Descent Training Algorithm for Deep Neural NetworksabstractWe present a novel hybrid algorithm for training Deep Neural Networks that combines the state-of-the-art Gradient Descent (GD) method with a Mixed Integer Linear Programming (MILP) solver, outperforming GD and variants in terms of accuracy, as well as resource and data efficiency for both regression and classification tasks. Our GD+Solver hybrid algorithm, called GDSolver, works as follows: given a DNN D as input, GDSolver invokes GD to partially train D until it gets stuck in a local minima, at which point GDSolver invokes an MILP solver to exhaustively search a region of the loss landscape around the weight assignments of D’s final layer parameters with the goal of tunnelling through and escaping the local minima. The process is repeated until desired accuracy is achieved. In our experiments, we find that GDSolver not only scales well to additional data and very large model sizes, but also outperforms all other competing methods in terms of rates of convergence and data efficiency. For regression tasks, GDSolver produced models that, on average, had 31.5% lower MSE in 48% less time, and for classification tasks on MNIST and CIFAR10, GDSolver was able to achieve the highest accuracy over all competing methods, using only 50% of the training data that GD baselines required. Dhananjay Ashok, Vineel Nagisetty, Christopher Srinivasa, Vijay Ganesh 0001 |
IJCAI | 4 |
| 2022 | Diversifying a Parallel SAT Solver with Bayesian Moment Matching
Vincent Vallade, Saeed Nejati, Julien Sopena, Souheib Baarir, Vijay Ganesh 0001 |
SETTA | 5 |
| 2022 | Machine learning and logic: a new frontier in artificial intelligence
Vijay Ganesh 0001, Sanjit A. Seshia, Somesh Jha |
Formal Methods Syst. Des. | 1 |
| 2021 | Logic Guided Genetic Algorithms (Student Abstract)abstractWe present a novel Auxiliary Truth enhanced Genetic Algorithm (GA) that uses logical or mathematical constraints as a means of data augmentation as well as to compute loss (in conjunction with the traditional MSE), with the aim of increasing both data efficiency and accuracy of symbolic regression (SR) algorithms. Our method, logic-guided genetic algorithm (LGGA), takes as input a set of labelled data points and auxiliary truths (AT) (mathematical facts known a priori about the unknown function the regressor aims to learn) and outputs a specially generated and curated dataset that can be used with any SR method. We evaluate LGGA against state-of-the-art SR tools, namely, Eureqa and TuringBot and find that using these SR tools in conjunction with LGGA results in them solving up to 30% more equations, needing only a fraction of the amount of data compared to the same tool without LGGA, i.e., resulting in up to a 61.9% improvement in data efficiency. Dhananjay Ashok, Joseph Scott, Sebastian Johann Wetzel, Maysum Panju 0001, Vijay Ganesh 0001 |
AAAI | 5 |
| 2021 | A SAT-based Resolution of Lam's ProblemabstractIn 1989, computer searches by Lam, Thiel, and Swiercz experimentally resolved Lam's problem from projective geometry—the long-standing problem of determining if a projective plane of order ten exists. Both the original search and an independent verification in 2011 discovered no such projective plane. However, these searches were each performed using highly specialized custom-written code and did not produce nonexistence certificates. In this paper, we resolve Lam's problem by translating the problem into Boolean logic and use satisfiability (SAT) solvers to produce nonexistence certificates that can be verified by a third party. Our work uncovered consistency issues in both previous searches—highlighting the difficulty of relying on special-purpose search code for nonexistence results. Curtis Bright, Kevin K. H. Cheung, Brett Stevens, Ilias S. Kotsireas, Vijay Ganesh 0001 |
AAAI | 5 |
| 2021 | Amnesiac Machine LearningabstractThe Right to be Forgotten is part of the recently enacted General Data Protection Regulation (GDPR) law that affects any data holder that has data on European Union residents. It gives EU residents the ability to request deletion of their personal data, including training records used to train machine learning models. Unfortunately, Deep Neural Network models are vulnerable to information leaking attacks such as model inversion attacks which extract class information from a trained model and membership inference attacks which determine the presence of an example in a model's training data. If a malicious party can mount an attack and learn private information that was meant to be removed, then it implies that the model owner has not properly protected their user's rights and their models may not be compliant with the GDPR law. In this paper, we present two efficient methods that address this question of how a model owner or data holder may delete personal data from models in such a way that they may not be vulnerable to model inversion and membership inference attacks while maintaining model efficacy. We start by presenting a real-world threat model that shows that simply removing training data is insufficient to protect users. We follow that up with two data removal methods, namely Unlearning and Amnesiac Unlearning, that enable model owners to protect themselves against such attacks while being compliant with regulations. We provide extensive empirical analysis that show that these methods are indeed efficient, safe to apply, effectively remove learned information about sensitive data from trained models while maintaining model efficacy. Laura Graves, Vineel Nagisetty, Vijay Ganesh 0001 |
AAAI | 3 |
| 2021 | An SMT Solver for Regular Expressions and Linear Arithmetic over String LengthabstractAbstract We present a novel length-aware solving algorithm for the quantifier-free first-order theory over regex membership predicate and linear arithmetic over string length. We implement and evaluate this algorithm and related heuristics in the Z3 theorem prover. A crucial insight that underpins our algorithm is that real-world regex and string formulas contain a wealth of information about upper and lower bounds on lengths of strings, and such information can be used very effectively to simplify operations on automata representing regular expressions. Additionally, we present a number of novel general heuristics, such as the prefix/suffix method, that can be used to make a variety of regex solving algorithms more efficient in practice. We showcase the power of our algorithm and heuristics via an extensive empirical evaluation over a large and diverse benchmark of 57256 regex-heavy instances, almost 75% of which are derived from industrial applications or contributed by other solver developers. Our solver outperforms five other state-of-the-art string solvers, namely, CVC4, OSTRICH, Z3seq, Z3str3, and Z3-Trau, over this benchmark, in particular achieving a speedup of 2.4 $$\times $$ × over CVC4, 4.4 $$\times $$ × over Z3seq, 6.4 $$\times $$ × over Z3-Trau, 9.1 $$\times $$ × over Z3str3, and 13 $$\times $$ × over OSTRICH. Murphy Berzish, Mitja Kulczynski, Federico Mora 0002, Florin Manea, Joel D. Day, Dirk Nowotka, Vijay Ganesh 0001 |
CAV (2) | 7 |
| 2021 | Z3str4: A Multi-armed String Solver
Federico Mora 0002, Murphy Berzish, Mitja Kulczynski, Dirk Nowotka, Vijay Ganesh 0001 |
FM | 5 |
| 2021 | BanditFuzz: Fuzzing SMT Solvers with Multi-agent Reinforcement Learning
Joseph Scott, Trishal Sudula, Hammad Rehman, Federico Mora 0002, Vijay Ganesh 0001 |
FM | 5 |
| 2021 | On the Hierarchical Community Structure of Practical Boolean Formulas
Chunxiao (Ian) Li, Jonathan Chung 0003, Marc Vinyals, Noah Fleming, Antonina Kolokolova, Alice Mu, Vijay Ganesh 0001 |
SAT | 8 |
| 2021 | MachSMT: A Machine Learning-based Algorithm Selector for SMT SolversabstractAbstract In this paper, we present MachSMT, an algorithm selection tool for Satisfiability Modulo Theories (SMT) solvers. MachSMT supports the entirety of the SMT-LIB language. It employs machine learning (ML) methods to construct both empirical hardness models (EHMs) and pairwise ranking comparators (PWCs) over state-of-the-art SMT solvers. Given an SMT formula $$\mathcal {I}$$ I as input, MachSMT leverages these learnt models to output a ranking of solvers based on predicted run time on the formula $$\mathcal {I}$$ I . We evaluate MachSMT on the solvers, benchmarks, and data obtained from SMT-COMP 2019 and 2020. We observe MachSMT frequently improves on competition winners, winning $$54$$ 54 divisions outright and up to a $$198.4$$ 198.4 % improvement in PAR-2 score, notably in logics that have broad applications (e.g., BV, LIA, NRA, etc.) in verification, program analysis, and software engineering. The MachSMT tool is designed to be easily tuned and extended to any suitable solver application by users. MachSMT is not a replacement for SMT solvers by any means. Instead, it is a tool that enables users to leverage the collective strength of the diverse set of algorithms implemented as part of these sophisticated solvers. Joseph Scott, Aina Niemetz, Mathias Preiner, Saeed Nejati, Vijay Ganesh 0001 |
TACAS (2) | 5 |
| 2021 | Complex Golay pairs up to length 28: A search via computer algebra and programmatic SAT
Curtis Bright, Ilias S. Kotsireas, Albert Heinle, Vijay Ganesh 0001 |
J. Symb. Comput. | 4 |
| 2020 | LGML: Logic Guided Machine Learning (Student Abstract)abstractWe introduce Logic Guided Machine Learning (LGML), a novel approach that symbiotically combines machine learning (ML) and logic solvers to learn mathematical functions from data. LGML consists of two phases, namely a learning-phase and a logic-phase with a corrective feedback loop, such that, the learning-phase learns symbolic expressions from input data, and the logic-phase cross verifies the consistency of the learned expression with known auxiliary truths. If inconsistent, the logic-phase feeds back "counterexamples" to the learning-phase. This process is repeated until the learned expression is consistent with auxiliary truth. Using LGML, we were able to learn expressions that correspond to the Pythagorean theorem and the sine function, with several orders of magnitude improvements in data efficiency compared to an approach based on an out-of-the-box multi-layered perceptron (MLP). Joseph Scott, Maysum Panju 0001, Vijay Ganesh 0001 |
AAAI | 3 |
| 2020 | A Machine Learning Based Splitting Heuristic for Divide-and-Conquer Solvers
Saeed Nejati, Ludovic Le Frioux, Vijay Ganesh 0001 |
CP | 3 |
| 2020 | Online Bayesian Moment Matching based SAT Solver HeuristicsabstractIn this paper, we present a Bayesian Moment Matching (BMM) based method aimed at solving the initialization problem in Boolean SAT solvers. The initialization problem can be stated as follows: given a SAT formula $\phi$, compute an initial order over the variables of $\phi$ and values/polarity for these variables such that the runtime of SAT solvers on input $\phi$ is minimized. At the start of a solver run, our BMM-based methods compute a posterior probability distribution for an assignment to the variables of the input formula after analyzing its clauses, which will then be used by the solver to initialize its search. We perform extensive experiments to evaluate the efficacy of our BMM-based heuristic against 4 other initialization methods (random, survey propagation, Jeroslow-Wang, and default) in state-of-the-art solvers, MapleCOMSPS and MapleLCMDistChronotBT over the SAT competition 2018 application benchmark, as well as the best-known solvers in the cryptographic category, namely, CryptoMiniSAT, Glucose, and MapleSAT. On the cryptographic benchmark, BMM-based solvers out-perform all other initialization methods. Further, the BMM-based MapleCOMSPS significantly out-perform the same solver using all other initialization methods by 12 additional instances solved and better average runtime, over the SAT 2018 competition benchmark. Haonan Duan 0002, Saeed Nejati, George Trimponias, Pascal Poupart, Vijay Ganesh 0001 |
ICML | 5 |
| 2020 | Unsatisfiability Proofs for Weight 16 Codewords in Lam's ProblemabstractIn the 1970s and 1980s, searches performed by L. Carter, C. Lam, L. Thiel, and S. Swiercz showed that projective planes of order ten with weight 16 codewords do not exist. These searches required highly specialized and optimized computer programs and required about 2,000 hours of computing time on mainframe and supermini computers. In 2010, these searches were verified by D. Roy using an optimized C program and 16,000 hours on a cluster of desktop machines. We performed a verification of these searches by reducing the problem to the Boolean satisfiability problem (SAT). Our verification uses the cube-and-conquer SAT solving paradigm, symmetry breaking techniques using the computer algebra system Maple, and a result of Carter that there are ten nonisomorphic cases to check. Our searches completed in about 30 hours on a desktop machine and produced nonexistence proofs of about 1 terabyte in the DRAT (deletion resolution asymmetric tautology) format. Curtis Bright, Kevin K. H. Cheung, Brett Stevens, Ilias S. Kotsireas, Vijay Ganesh 0001 |
IJCAI | 5 |
| 2020 | Nonexistence Certificates for Ovals in a Projective Plane of Order Ten
Curtis Bright, Kevin K. H. Cheung, Brett Stevens, Ilias S. Kotsireas, Vijay Ganesh 0001 |
IWOCA | 5 |
| 2020 | Towards a Complexity-Theoretic Understanding of Restarts in SAT Solvers
Chunxiao (Ian) Li, Noah Fleming, Marc Vinyals, Toniann Pitassi, Vijay Ganesh 0001 |
SAT | 5 |
| 2020 | Community and LBD-Based Clause Sharing Policy for Parallel SAT Solving
Vincent Vallade, Ludovic Le Frioux, Souheib Baarir, Julien Sopena, Vijay Ganesh 0001, Fabrice Kordon |
SAT | 5 |
| 2020 | Applying computer algebra systems with SAT solvers to the Williamson conjecture
Curtis Bright, Ilias S. Kotsireas, Vijay Ganesh 0001 |
J. Symb. Comput. | 3 |
| 2020 | New Infinite Families of Perfect Quaternion Sequences and Williamson SequencesabstractWe present new constructions for perfect and odd perfect sequences over the quaternion group Q8. In particular, we show for the first time that perfect and odd perfect quaternion sequences exist in all lengths 2 for t ≥ 0. In doing so we disprove the quaternionic form of Mow's conjecture that the longest perfect Q8-sequence that can be constructed from an orthogonal array construction is of length 64. Furthermore, we use a connection to combinatorial design theory to prove the existence of a new infinite class of Williamson sequences, showing that Williamson sequences of length 2 n exist for all t ≥ 0 when Williamson sequences of odd length n exist. Our constructions explain the abundance of Williamson sequences in lengths that are multiples of a large power of two. Curtis Bright, Ilias S. Kotsireas, Vijay Ganesh 0001 |
IEEE Trans. Inf. Theory | 3 |
| 2019 | A SAT+CAS Approach to Finding Good Matrices: New Examples and Counterexamples
Curtis Bright, Dragomir Z. Dokovic, Ilias S. Kotsireas, Vijay Ganesh 0001 |
AAAI | 4 |
| 2019 | Interpolating Strong InductionabstractThe principle of strong induction, also known as k -induction is one of the first techniques for unbounded SAT-based Model Checking (SMC). While elegant and simple to apply, properties as such are rarely k -inductive and when they can be strengthened, there is no effective strategy to guess the depth of induction. It has been mostly displaced by techniques that compute inductive strengthenings based on interpolation and property directed reachability ( Pdr ). In this paper, we present kAvy , an SMC algorithm that effectively uses k -induction to guide interpolation and Pdr -style inductive generalization. Unlike pure k -induction, kAvy uses Pdr -style generalization to compute and strengthen an inductive trace. Unlike pure Pdr , kAvy uses relative k -induction to construct an inductive invariant. The depth of induction is adjusted dynamically by minimizing a proof of unsatisfiability. We have implemented kAvy within the Avy Model Checker and evaluated it on HWMCC instances. Our results show that kAvy is more effective than both Avy and Pdr , and that using k -induction leads to faster running time and solving more instances. Further, on a class of benchmarks, called shift , kAvy is orders of magnitude faster than Avy , Pdr and k -induction. Hari Govind V. K., Yakir Vizel, Vijay Ganesh 0001, Arie Gurfinkel |
CAV (2) | 3 |
| 2019 | MPro: Combining Static and Symbolic Analysis for Scalable Testing of Smart ContractabstractSmart contracts are executable programs that enable the building of a programmable trust mechanism between multiple entities without the need of a trusted third-party. At the time of this writing, there were over 10 million smart contracts deployed on the Ethereum networks and this number continues to grow at a rapid pace. Smart contracts are often written in a Turing-complete programming language called Solidity, which is not easy to audit for subtle errors. Further, since smart contracts are immutable, errors have led to attacks resulting in losses of cryptocurrency worth 100s of millions of USD and reputational damage. Unfortunately, manual security analyses do not scale with size and number of smart contracts. Automated and scalable mechanisms are essential if smart contracts are to gain mainstream acceptance. Researchers have developed several security scanners in the past couple of years. However, many of these analyzer either do not scale well, or if they do, produce many false positives. This issue is exacerbated when bugs are triggered only after a series of interactions with the functions of the contract-under-test. A depth-n vulnerability, refers to a vulnerability that requires invoking a specific sequence of n functions to trigger. Depth-n vulnerabilities are time-consuming to detect by existing automated analyzers, because of the combinatorial explosion of sequences of functions that could be executed on smart contracts. In this paper, we present a technique to analyze depth-n vulnerabilities in an efficient and scalable way by combining symbolic execution and data dependency analysis. A significant advantage of combining symbolic with static analysis is that it scales much better than symbolic alone and does not have the problem of false positive that static analysis tools typically have. We have implemented our technique in a tool called MPro, a scalable and automated smart contract analyzer based on the existing symbolic analysis tool Mythril-Classic and the static analysis tool Slither. We analyzed 100 randomly chosen smart contracts on MPro and our evaluation shows that MPro is about n-times faster than Mythril-Classic for detecting depth-n vulnerabilities, while preserving all the detection capabilities of Mythril-Classic. Sebastian Banescu, Leonardo Pasos, Steven T. Stewart, Vijay Ganesh 0001 |
ISSRE | 5 |
| 2019 | Theory and practice of string solvers (invited talk abstract)abstractThe paper titled "Hampi: A Solver for String Constraints" was published in the proceedings of the International Symposium on Software Testing and Analysis (ISSTA) 2009, and has been selected to receive the ISSTA 2019 Impact Paper Award. The paper describes HAMPI, one of the first practical solver aimed at solving the satisfiability problem for a theory of string (word) equations, operations over strings, predicates over regular expressions and context-free grammars. HAMPI has been used widely to solve many software engineering and security problems, and has inspired considerable research on string solving algorithms and their applications. Adam Kiezun, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst, Vijay Ganesh 0001 |
ISSTA | 5 |
| 2019 | Accelerated Learning of Predictive Runtime Monitors for Rare Failure
Reza Babaee, Vijay Ganesh 0001, Sean Sedwards |
RV | 2 |
| 2019 | SMTIBEA: a hybrid multi-objective optimization algorithm for configuring large constrained software product lines
Jianmei Guo, Jia Hui (Jimmy) Liang, Kai Shi 0006, Dingyu Yang, Jingsong Zhang, Krzysztof Czarnecki 0001, Vijay Ganesh 0001, Huiqun Yu |
Softw. Syst. Model. | 7 |
| 2018 | A SAT+CAS Method for Enumerating Williamson Matrices of Even OrderabstractWe present for the first time an exhaustive enumeration of Williamson matrices of even order n < 65. The search method relies on the novel SAT+CAS paradigm of coupling SAT solvers with computer algebra systems so as to take advantage of the advances made in both the field of satisfiability checking and the field of symbolic computation. Additionally, we use a programmatic SAT solver which allows conflict clauses to be learned programmatically, through a piece of code specifically tailored to the domain area. Prior to our work, Williamson matrices had only been enumerated for odd orders n < 60, so our work increases the bounds that Williamson matrices have been enumerated up to and provides the first enumeration of Williamson matrices of even order. Our results show that Williamson matrices of even order tend to be much more abundant than those of odd orders. In particular, Williamson matrices exist for every even order n < 65 but do not exist in orders 35, 47, 53, and 59. Curtis Bright, Ilias S. Kotsireas, Vijay Ganesh 0001 |
AAAI | 3 |
| 2018 | StringFuzz: A Fuzzer for String SolversabstractIn this paper, we introduce StringFuzz: a modular SMT-LIB problem instance transformer and generator for string solvers. We supply a repository of instances generated by StringFuzz in SMT-LIB 2.0/2.5 format. We systematically compare Z3str3, CVC4, Z3str2, and Norn on groups of such instances, and identify those that are particularly challenging for some solvers. We briefly explain our observations and show how StringFuzz helped discover causes of performance degradations in Z3str3. Dmitry Blotsky, Federico Mora 0002, Murphy Berzish, Yunhui Zheng, Ifaz Kabir, Vijay Ganesh 0001 |
CAV (2) | 6 |
| 2018 | The Proof Complexity of SMT SolversabstractThe resolution proof system has been enormously helpful in deepening our understanding of conflict-driven clause-learning ( $$\mathsf {CDCL}$$ ) SAT solvers. In the interest of providing a similar proof complexity-theoretic analysis of satisfiability modulo theories (SMT) solvers, we introduce a generalization of resolution called Res(T). We show that many of the known results comparing resolution and $$\mathsf {CDCL}$$ solvers lift to the SMT setting, such as the result of Pipatsrisawat and Darwiche showing that $$\mathsf {CDCL}$$ solvers with “perfect” non-deterministic branching and an asserting clause-learning scheme can polynomially simulate general resolution. We also describe a stronger version of Res(T), $$\mathsf {Res}^*$$ (T), capturing SMT solvers allowing introduction of new literals. We analyze the theory EUF of equality with uninterpreted functions, and show that the $$\mathsf {Res}^*(\mathrm {EUF})$$ system is able to simulate an earlier calculus introduced by Bjørner and de Moura for the purpose of analyzing $$\mathsf {DPLL}$$ (EUF). Further, we show that $$\mathsf {Res}^*(\mathrm {EUF})$$ (and thus SMT algorithms with clause learning over EUF, new literal introduction rules and perfect branching) can simulate the Frege proof system, which is well-known to be far more powerful than resolution. Finally, we prove under the Exponential Time Hypothesis (ETH) that any reduction from EUF to SAT (such as the Ackermann reduction) must, in the worst case, produce an instance of size $$\varOmega (n \log n)$$ from an instance of size n. Robert Robere, Antonina Kolokolova, Vijay Ganesh 0001 |
CAV (2) | 3 |
| 2018 | Algebraic Fault Attack on SHA Hash Functions Using Programmatic SAT Solvers
Saeed Nejati, Jan Horácek, Catherine H. Gebotys, Vijay Ganesh 0001 |
CP | 4 |
| 2018 | The Effect of Structural Measures and Merges on SAT Solver Performance
Edward Zulkoski, Ruben Martins, Christoph M. Wintersteiger, Jia Hui (Jimmy) Liang, Krzysztof Czarnecki 0001, Vijay Ganesh 0001 |
CP | 6 |
| 2018 | Learning-Sensitive Backdoors with Restarts
Edward Zulkoski, Ruben Martins, Christoph M. Wintersteiger, Robert Robere, Jia Hui (Jimmy) Liang, Krzysztof Czarnecki 0001, Vijay Ganesh 0001 |
CP | 7 |
| 2018 | An Empirical Study of Branching Heuristics through the Lens of Global Learning RateabstractIn this paper, we analyze a suite of 7 well-known branching heuristics proposed by the SAT community and show that the better heuristics tend to generate more learnt clauses per decision, a metric we define as the global learning rate (GLR). We propose GLR as a metric for the branching heuristic to optimize. We test our hypothesis by developing a new branching heuristic that maximizes GLR greedily. We show empirically that this heuristic achieves very high GLR and interestingly very low literal block distance (LBD) over the learnt clauses. In our experiments this greedy branching heuristic enables the solver to solve instances faster than VSIDS, when the branching time is taken out of the equation. This experiment is a good proof of concept that a branching heuristic maximizing GLR will lead to good solver performance modulo the computational overhead. Finally, we propose a new branching heuristic, called SGDB, that uses machine learning to cheapily approximate greedy maximization of GLR. We show experimentally that SGDB performs on par with the VSIDS branching heuristic. Hari Govind V. K., Pascal Poupart, Krzysztof Czarnecki 0001, Vijay Ganesh 0001 |
IJCAI | 5 |
| 2018 | Enumeration of Complex Golay Pairs via Programmatic SATabstractWe provide a complete enumeration of all complex Golay pairs of length up to 25, verifying that complex Golay pairs do not exist in lengths 23 and 25 but do exist in length 24. This independently verifies work done by F. Fiedler in 2013 that confirms the 2002 conjecture of Craigen, Holzmann, and Kharaghani that complex Golay pairs of length 23 don't exist. Our enumeration method relies on the recently proposed SAT+CAS paradigm of combining computer algebra systems with SAT solvers to take advantage of the advances made in the fields of symbolic computation and satisfiability checking. The enumeration proceeds in two stages: First, we use a fine-tuned computer program and functionality from computer algebra systems to construct a list containing all sequences which could appear as the first sequence in a complex Golay pair (up to equivalence). Second, we use a programmatic SAT solver to construct all sequences (if any) that pair off with the sequences constructed in the first stage to form a complex Golay pair. Curtis Bright, Ilias S. Kotsireas, Albert Heinle, Vijay Ganesh 0001 |
ISSAC | 4 |
| 2018 | Machine Learning-Based Restart Policy for CDCL SAT Solvers
Jia Hui (Jimmy) Liang, Chanseok Oh, Minu Mathew, Ciza Thomas, Chunxiao (Ian) Li, Vijay Ganesh 0001 |
SAT | 6 |
| 2017 | Reasoning about Probabilistic Defense Mechanisms against Remote AttacksabstractDespite numerous countermeasures proposed by practitioners and researchers, remote control-flow alteration of programs with memory-safety vulnerabilities continues to be a realistic threat. Guaranteeing that complex software is completely free of memory-safety vulnerabilities is extremely expensive. Probabilistic countermeasures that depend on random secret keys are interesting, because they are an inexpensive way to raise the bar for attackers who aim to exploit memory-safety vulnerabilities. Moreover, some countermeasures even support legacy systems. However, it is unclear how to quantify and compare the effectiveness of different probabilistic countermeasures or combinations of such countermeasures. In this paper we propose a methodology to rigorously derive security bounds for probabilistic countermeasures. We argue that by representing security notions in this setting as events in probabilistic games, similarly as done with cryptographic security definitions, concrete and asymptotic guarantees can be obtained against realistic attackers. These guarantees shed light on the effectiveness of single countermeasures and their composition and allow practitioners to more precisely gauge the risk of an attack. Martín Ochoa, Sebastian Banescu, Cynthia Disenfeld, Gilles Barthe, Vijay Ganesh 0001 |
EuroS&P | 5 |
| 2017 | Z3str3: A string solver with theory-aware heuristicsabstractWe present a new string SMT solver, Z3str3, that is faster than its competitors Z3str2, Norn, CVC4, S3, and S3P over a majority of three industrial-strength benchmarks, namely, Kaluza, PISA, and IBM AppScan. Z3str3 supports string equations, linear arithmetic over length function, and regular language membership predicate. The key algorithmic innovation behind the efficiency of Z3str3 is a technique we call theory-aware branching, wherein we modify Z3's branching heuristic to take into account the structure of theory literals to compute branching activities. In the traditional DPLL(T) architecture, the structure of theory literals is hidden from the DPLL(T) SAT solver because of the Boolean abstraction constructed over the input theory formula. By contrast, the theory-aware technique presented in this paper exposes the structure of theory literals to the DPLL(T) SAT solver's branching heuristic, thus enabling it to make much smarter decisions during its search than otherwise. As a consequence, Z3str3 has better performance than its competitors. Murphy Berzish, Vijay Ganesh 0001, Yunhui Zheng |
FMCAD | 2 |
| 2017 | An Empirical Study of Branching Heuristics Through the Lens of Global Learning Rate
Jia Hui (Jimmy) Liang, Hari Govind V. K., Pascal Poupart, Krzysztof Czarnecki 0001, Vijay Ganesh 0001 |
SAT | 5 |
| 2017 | A Propagation Rate Based Splitting Heuristic for Divide-and-Conquer Solvers
Saeed Nejati, Zack Newsham, Joseph Scott, Jia Hui (Jimmy) Liang, Catherine H. Gebotys, Pascal Poupart, Vijay Ganesh 0001 |
SAT | 7 |
| 2017 | Z3str2: an efficient solver for strings, regular expressions, and length constraints
Yunhui Zheng, Vijay Ganesh 0001, Sanu Subramanian, Omer Tripp, Murphy Berzish, Julian Dolby, Xiangyu Zhang 0001 |
Formal Methods Syst. Des. | 2 |
| 2017 | Combining SAT Solvers with Computer Algebra Systems to Verify Combinatorial Conjectures
Edward Zulkoski, Curtis Bright, Albert Heinle, Ilias S. Kotsireas, Krzysztof Czarnecki 0001, Vijay Ganesh 0001 |
J. Autom. Reason. | 6 |
| 2016 | Exponential Recency Weighted Average Branching Heuristic for SAT SolversabstractModern conflict-driven clause-learning SAT solvers routinely solve large real-world instances with millions of clauses and variables in them. Their success crucially depends on effective branching heuristics. In this paper, we propose a new branching heuristic inspired by the exponential recency weighted average algorithm used to solve the bandit problem. The branching heuristic, we call CHB, learns online which variables to branch on by leveraging the feedback received from conflict analysis. We evaluated CHB on 1200 instances from the SAT Competition 2013 and 2014 instances, and showed that CHB solves significantly more instances than VSIDS, currently the most effective branching heuristic in widespread use. More precisely, we implemented CHB as part of the MiniSat and Glucose solvers, and performed an apple-to-apple comparison with their VSIDS-based variants. CHB-based MiniSat (resp. CHB-based Glucose) solved approximately 16.1% (resp. 5.6%) more instances than their VSIDS-based variants. Additionally, CHB-based solvers are much more efficient at constructing first preimage attacks on step-reduced SHA-1 and MD5 cryptographic hash functions, than their VSIDS-based counterparts. To the best of our knowledge, CHB is the first branching heuristic to solve significantly more instances than VSIDS on a large, diverse benchmark of real-world instances. Jia Hui (Jimmy) Liang, Vijay Ganesh 0001, Pascal Poupart, Krzysztof Czarnecki 0001 |
AAAI | 2 |
| 2016 | Code obfuscation against symbolic execution attacks
Sebastian Banescu, Christian S. Collberg, Vijay Ganesh 0001, Zack Newsham, Alexander Pretschner |
ACSAC | 3 |
| 2016 | MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures
Curtis Bright, Vijay Ganesh 0001, Albert Heinle, Ilias S. Kotsireas, Saeed Nejati, Krzysztof Czarnecki 0001 |
CASC | 2 |
| 2016 | MATHCHECK: A Math Assistant via a Combination of Computer Algebra Systems and SAT Solvers
Edward Zulkoski, Vijay Ganesh 0001, Krzysztof Czarnecki 0001 |
IJCAI | 2 |
| 2016 | Learning Rate Based Branching Heuristic for SAT Solvers
Jia Hui (Jimmy) Liang, Vijay Ganesh 0001, Pascal Poupart, Krzysztof Czarnecki 0001 |
SAT | 2 |
| 2015 | MathCheck: A Math Assistant via a Combination of Computer Algebra Systems and SAT Solvers
Edward Zulkoski, Vijay Ganesh 0001, Krzysztof Czarnecki 0001 |
CADE | 2 |
| 2015 | Effective Search-Space Pruning for Solvers of String Equations, Regular Expressions and Length Constraints
Yunhui Zheng, Vijay Ganesh 0001, Sanu Subramanian, Omer Tripp, Julian Dolby, Xiangyu Zhang 0001 |
CAV (1) | 2 |
| 2015 | SATGraf: Visualizing the Evolution of SAT Formula Structure in Solvers
Zack Newsham, William Lindsay, Vijay Ganesh 0001, Jia Hui (Jimmy) Liang, Sebastian Fischmeister, Krzysztof Czarnecki 0001 |
SAT | 3 |
| 2015 | SAT-based analysis of large real-world feature models is easyabstractModern conflict-driven clause-learning (CDCL) Boolean SAT solvers provide efficient automatic analysis of real-world feature models (FM) of systems ranging from cars to operating systems. It is well-known that solver-based analysis of real-world FMs scale very well even though SAT instances obtained from such FMs are large, and the corresponding analysis problems are known to be NP-complete. To better understand why SAT solvers are so effective, we systematically studied many syntactic and semantic characteristics of a representative set of large real-world FMs. We discovered that a key reason why large real-world FMs are easy-to-analyze is that the vast majority of the variables in these models are unrestricted, i.e., the models are satisfiable for both true and false assignments to such variables under the current partial assignment. Given this discovery and our understanding of CDCL SAT solvers, we show that solvers can easily find satisfying assignments for such models without too many backtracks relative to the model size, explaining why solvers scale so well. Further analysis showed that the presence of unrestricted variables in these real-world models can be attributed to their high-degree of variability. Additionally, we experimented with a series of well-known nonbacktracking simplifications that are particularly effective in solving FMs. The remaining variables/clauses after simplifications, called the core, are so few that they are easily solved even with backtracking, further strengthening our conclusions. We explain the connection between our findings and backdoors, an idea posited by theorists to explain the power of SAT solvers. This connection strengthens our hypothesis that SAT-based analysis of FMs is easy. In contrast to our findings, previous research characterizes the difficulty of analyzing randomly-generated FMs in terms of treewidth. Our experiments suggest that the difficulty of analyzing real-world FMs cannot be explained in terms of treewidth. Jia Hui (Jimmy) Liang, Vijay Ganesh 0001, Krzysztof Czarnecki 0001, Venkatesh Raman 0001 |
SPLC | 2 |
| 2014 | Impact of Community Structure on SAT Solver Performance
Zack Newsham, Vijay Ganesh 0001, Sebastian Fischmeister, Gilles Audemard, Laurent Simon 0001 |
SAT | 2 |
| 2013 | Z3-str: a z3-based string solver for web application analysisabstractAnalyzing web applications requires reasoning about strings and non-strings cohesively. Existing string solvers either ignore non-string program behavior or support limited set of string operations. In this paper, we develop a general purpose string solver, called Z3-str, as an extension of the Z3 SMT solver through its plug-in interface. Z3-str treats strings as a primitive type, thus avoiding the inherent limitations observed in many existing solvers that encode strings in terms of other primitives. The logic of the plug-in has three sorts, namely, bool, int and string. The string-sorted terms include string constants and variables of arbitrary length, with functions such as concatenation, sub-string, and replace. The int-sorted terms are standard, with the exception of the length function over string terms. The atomic formulas are equations over string terms, and (in)-equalities over integer terms. Not only does our solver have features that enable whole program symbolic, static and dynamic analysis, but also it performs better than other solvers in our experiments. The application of Z3-str in remote code execution detection shows that its support of a wide spectrum of string operations is key to reducing false positives. Yunhui Zheng, Xiangyu Zhang 0001, Vijay Ganesh 0001 |
ESEC/SIGSOFT FSE | 3 |
| 2013 | Mohawk: Abstraction-Refinement and Bound-Estimation for Verifying Access Control PoliciesabstractVerifying that access-control systems maintain desired security properties is recognized as an important problem in security. Enterprise access-control systems have grown to protect tens of thousands of resources, and there is a need for verification to scale commensurately. We present techniques for abstraction-refinement and bound-estimation for bounded model checkers to automatically find errors in Administrative Role-Based Access Control (ARBAC) security policies. ARBAC is the first and most comprehensive administrative scheme for Role-Based Access Control (RBAC) systems. In the abstraction-refinement portion of our approach, we identify and discard roles that are unlikely to be relevant to the verification question (the abstraction step). We then restore such abstracted roles incrementally (the refinement steps). In the bound-estimation portion of our approach, we lower the estimate of the diameter of the reachability graph from the worst-case by recognizing relationships between roles and state-change rules. Our techniques complement one another, and are used with conventional bounded model checking. Our approach is sound and complete: an error is found if and only if it exists. We have implemented our technique in an access-control policy analysis tool called Mohawk . We show empirically that Mohawk scales well to realistic policies, and provide a comparison with prior tools. Karthick Jayaraman, Mahesh Tripunitara, Vijay Ganesh 0001, Martin C. Rinard, Steve J. Chapin |
ACM Trans. Inf. Syst. Secur. | 3 |
| 2012 | Automatic input rectificationabstractWe present a novel technique, automatic input rectification, and a prototype implementation, SOAP. SOAP learns a set of constraints characterizing typical inputs that an application is highly likely to process correctly. When given an atypical input that does not satisfy these constraints, SOAP automatically rectifies the input (i.e., changes the input so that it satisfies the learned constraints). The goal is to automatically convert potentially dangerous inputs into typical inputs that the program is highly likely to process correctly. Our experimental results show that, for a set of benchmark applications (Google Picasa, ImageMagick, VLC, Swfdec, and Dillo), this approach effectively converts malicious inputs (which successfully exploit vulnerabilities in the application) into benign inputs that the application processes correctly. Moreover, a manual code analysis shows that, if an input does satisfy the learned constraints, it is incapable of exploiting these vulnerabilities. We also present the results of a user study designed to evaluate the subjective perceptual quality of outputs from benign but atypical inputs that have been automatically rectified by SOAP to conform to the learned constraints. Specifically, we obtained benign inputs that violate learned constraints, used our input rectifier to obtain rectified inputs, then paid Amazon Mechanical Turk users to provide their subjective qualitative perception of the difference between the outputs from the original and rectified inputs. The results indicate that rectification can often preserve much, and in many cases all, of the desirable data in the original input. Fan Long, Vijay Ganesh 0001, Michael Carbin, Stelios Sidiroglou-Douskos, Martin C. Rinard |
ICSE | 2 |
| 2012 | Lynx: A Programmatic SAT Solver for the RNA-Folding Problem
Vijay Ganesh 0001, Charles W. O'Donnell, Mate Soos, Srini Devadas, Martin C. Rinard, Armando Solar-Lezama |
SAT | 1 |
| 2012 | HAMPI: A solver for word equations over strings, regular expressions, and context-free grammarsabstractMany automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraint-generation phase followed by a constraint-solving phase. This separation of concerns often leads to more effective and maintainable software reliability tools. The increasing efficiency of off-the-shelf constraint solvers makes this approach even more compelling. However, there are few effective and sufficiently expressive off-the-shelf solvers for string constraints generated by analysis of string-manipulating programs, so researchers end up implementing their own ad-hoc solvers. To fulfill this need, we designed and implemented Hampi, a solver for string constraints over bounded string variables. Users of Hampi specify constraints using regular expressions, context-free grammars, equality between string terms, and typical string operations such as concatenation and substring extraction. Hampi then finds a string that satisfies all the constraints or reports that the constraints are unsatisfiable. We demonstrate Hampi's expressiveness and efficiency by applying it to program analysis and automated testing. We used Hampi in static and dynamic analyses for finding SQL injection vulnerabilities in Web applications with hundreds of thousands of lines of code. We also used Hampi in the context of automated bug finding in C programs using dynamic systematic testing (also known as concolic testing). We then compared Hampi with another string solver, CFGAnalyzer, and show that Hampi is several times faster. Hampi's source code, documentation, and experimental data are available at http://people.csail.mit.edu/akiezun/hampi 1 Adam Kiezun, Vijay Ganesh 0001, Shay Artzi, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2011 | HAMPI: A String Solver for Testing, Analysis and Vulnerability Detection
Vijay Ganesh 0001, Adam Kiezun, Shay Artzi, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst |
CAV | 1 |
| 2011 | Automatic error finding in access-control policiesabstractVerifying that access-control systems maintain desired security properties is recognized as an important problem in security. Enterprise access-control systems have grown to protect tens of thousands of resources, and there is a need for verification to scale commensurately. We present a new abstraction-refinement technique for automatically finding errors in Administrative Role-Based Access Control (ARBAC) security policies. ARBAC is the first and most comprehensive administrative scheme for Role-Based Access Control (RBAC) systems. Underlying our approach is a change in mindset: we propose that error finding complements verification, can be more scalable, and allows for the use of a wider variety of techniques. In our approach, we use an abstraction-refinement technique to first identify and discard roles that are unlikely to be relevant to the verification question (the abstraction step), and then restore such abstracted roles incrementally (the refinement steps). Errors are one-sided: if there is an error in the abstracted policy, then there is an error in the original policy. If there is an error in a policy whose role-dependency graph diameter is smaller than a certain bound, then we find the error. Our abstraction-refinement technique complements conventional state-space exploration techniques such as model checking. We have implemented our technique in an access-control policy analysis tool. We show empirically that our tool scales well to realistic policies, and is orders of magnitude faster than prior tools. Karthick Jayaraman, Vijay Ganesh 0001, Mahesh Tripunitara, Martin C. Rinard, Steve J. Chapin |
CCS | 2 |
| 2009 | Taint-based directed whitebox fuzzingabstractWe present a new automated white box fuzzing technique and a tool, BuzzFuzz, that implements this technique. Unlike standard fuzzing techniques, which randomly change parts of the input file with little or no information about the underlying syntactic structure of the file, BuzzFuzz uses dynamic taint tracing to automatically locate regions of original seed input files that influence values used at key program attack points (points where the program may contain an error). BuzzFuzz then automatically generates new fuzzed test input files by fuzzing these identified regions of the original seed input files. Because these new test files typically preserve the underlying syntactic structure of the original seed input files, they tend to make it past the initial input parsing components to exercise code deep within the semantic core of the computation. We have used BuzzFuzz to automatically find errors in two open-source applications: Swfdec (an Adobe Flash player) and MuPDF (a PDF viewer). Our results indicate that our new directed fuzzing technique can effectively expose errors located deep within large programs. Because the directed fuzzing technique uses taint to automatically discover and exploit information about the input file format, it is especially appropriate for testing programs that have complex, highly structured input file formats. Vijay Ganesh 0001, Tim Leek, Martin C. Rinard |
ICSE | 1 |
| 2009 | HAMPI: a solver for string constraintsabstractMany automatic testing, analysis, and verification techniques for programs can be effectively reduced to a constraint generation phase followed by a constraint-solving phase. This separation of concerns often leads to more effective and maintainable tools. The increasing efficiency of off-the-shelf constraint solvers makes this approach even more compelling. However, there are few effective and sufficiently expressive off-the-shelf solvers for string constraints generated by analysis techniques for string-manipulating programs. Adam Kiezun, Vijay Ganesh 0001, Philip J. Guo, Pieter Hooimeijer, Michael D. Ernst |
ISSTA | 2 |
| 2008 | EXE: Automatically Generating Inputs of DeathabstractThis article presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be anything. As checked code runs, EXE tracks the constraints on each symbolic (i.e., input-derived) memory location. If a statement uses a symbolic value, EXE does not run it, but instead adds it as an input-constraint; all other statements run as usual. If code conditionally checks a symbolic expression, EXE forks execution, constraining the expression to be true on the true branch and false on the other. Because EXE reasons about all possible values on a path, it has much more power than a traditional runtime tool: (1) it can force execution down any feasible program path and (2) at dangerous operations (e.g., a pointer dereference), it detects if the current path constraints allow any value that causes a bug. When a path terminates or hits a bug, EXE automatically generates a test case by solving the current path constraints to find concrete values using its own co-designed constraint solver, STP. Because EXE’s constraints have no approximations, feeding this concrete input to an uninstrumented version of the checked code will cause it to follow the same path and hit the same bug (assuming deterministic code). EXE works well on real code, finding bugs along with inputs that trigger them in: the BSD and Linux packet filter implementations, the dhcpd DHCP server, the pcre regular expression library, and three Linux file systems. Cristian Cadar, Vijay Ganesh 0001, Peter M. Pawlowski, David L. Dill, Dawson R. Engler |
ACM Trans. Inf. Syst. Secur. | 2 |
| 2007 | A Decision Procedure for Bit-Vectors and Arrays
Vijay Ganesh 0001, David L. Dill |
CAV | 1 |
| 2006 | EXE: automatically generating inputs of deathabstractThis paper presents EXE, an effective bug-finding tool that automatically generates inputs that crash real code. Instead of running code on manually or randomly constructed input, EXE runs it on symbolic input initially allowed to be "anything." As checked code runs, EXE tracks the constraints on each symbolic (i.e., input-derived) memory location. If a statement uses a symbolic value, EXE does not run it, but instead adds it as an input-constraint; all other statements run as usual. If code conditionally checks a symbolic expression, EXE forks execution, constraining the expression to be true on the true branch and false on the other. Because EXE reasons about all possible values on a path, it has much more power than a traditional runtime tool: (1) it can force execution down any feasible program path and (2) at dangerous operations (e.g., a pointer dereference), it detects if the current path constraints allow any value that causes a bug.When a path terminates or hits a bug, EXE automatically generates a test case by solving the current path constraints to find concrete values using its own co-designed constraint solver, STP. Because EXE's constraints have no approximations, feeding this concrete input to an uninstrumented version of the checked code will cause it to follow the same path and hit the same bug (assuming deterministic code).EXE works well on real code, finding bugs along with inputs that trigger them in: the BSD and Linux packet filter implementations, the udhcpd DHCP server, the pcre regular expression library, and three Linux file systems. Cristian Cadar, Vijay Ganesh 0001, Peter M. Pawlowski, David L. Dill, Dawson R. Engler |
CCS | 2 |
| 2003 | An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic
Sergey Berezin, Vijay Ganesh 0001, David L. Dill |
TACAS | 2 |
| 2002 | Deciding Presburger Arithmetic by Model Checking and Comparisons with Other Methods
Vijay Ganesh 0001, Sergey Berezin, David L. Dill |
FMCAD | 1 |
| 1999 | EXPRESSION: A Language for Architecture Exploration through Compiler/Simulator RetargetabilityabstractWe describe EXPRESSION, a language supporting architectural design space exploration for embedded systems-on-chip (SOC) and automatic generation of a retargetable compiler/simulator toolkit. Key features of our language-driven design methodology include: a mixed behavioral/structural representation supporting a natural specification of the architecture, explicit specification of the memory, subsystem allowing novel memory organizations and hierarchies; clean syntax and ease of modification supporting architectural exploration; a single specification supporting consistency and completeness checking of the architecture; and efficient specification of architectural resource constraints allowing extraction of detailed reservation tables for compiler scheduling. We illustrate key features of EXPRESSION through simple examples and demonstrate its efficacy in supporting exploration and automatic software toolkit generation for an embedded SOC codesign flow. Ashok Halambi, Peter Grun, Vijay Ganesh 0001, Asheesh Khare, Nikil Dutt, Alexandru Nicolau |
DATE | 3 |