VLDB 2026 Research / reviewers in the wild / expert
Malay K. Ganai
dblp:34/7032
· DBLP profile ↗
49ranked-venue papers
25as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 26 · 15 first-authorSystems, architecture and hardware · 22 · 12 first-authorTheory of computation · 14 · 4 first-authorArtificial intelligence and machine learning · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
9 papers |
Program analysis · 42% Concurrent programming · 37% Software testing · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
10 papers |
Electronic design automation · 94% Distributed systems · 6% | |
| Theoretical computer science
5 papers |
Automated reasoning and model checking · 88% Logic in computer science · 12% |
Topics — the 30 heaviest of 43, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
concurrency bugs |
0.4 | 4 | 2013 | Efficient data race prediction with incremental reasoning on time-stamped lock history · ASE 2013 BEST: A symbolic testing tool for predicting multi-threaded program failures · ASE 2011 Scalable and precise symbolic analysis for atomicity violations · ASE 2011 |
Program analysis
dynamic analysis |
0.4 | 3 | 2013 | Efficient data race prediction with incremental reasoning on time-stamped lock history · ASE 2013 DTAM: dynamic taint analysis of multi-threaded programs for relevancy · SIGSOFT FSE 2012 Contessa: Concurrency Testing Augmented with Symbolic Analysis · CAV 2010 |
Electronic design automation › hardware verification and test
hardware verification |
0.4 | 9 | 2008 | Partial order reduction for scalable testing of systemC TLM designs · DAC 2008 Tunneling and slicing: towards scalable BMC · DAC 2008 Beyond safety: customized SAT-based model checking · DAC 2005 |
Concurrent programming › concurrency bugs
atomicity violation |
0.2 | 2 | 2011 | BEST: A symbolic testing tool for predicting multi-threaded program failures · ASE 2011 Scalable and precise symbolic analysis for atomicity violations · ASE 2011 |
Program analysis › symbolic execution
constraint-based symbolic search |
0.2 | 2 | 2011 | BEST: A symbolic testing tool for predicting multi-threaded program failures · ASE 2011 Scalable and precise symbolic analysis for atomicity violations · ASE 2011 |
Software testing › test generation
symbolic testing |
0.2 | 2 | 2011 | BEST: A symbolic testing tool for predicting multi-threaded program failures · ASE 2011 Scalable and precise symbolic analysis for atomicity violations · ASE 2011 |
Electronic design automation › model checking
bounded model checking |
0.2 | 5 | 2008 | Tunneling and slicing: towards scalable BMC · DAC 2008 Beyond safety: customized SAT-based model checking · DAC 2005 Abstraction and BDDs Complement SAT-Based BMC in DiVer · CAV 2003 |
Concurrent programming › concurrency bug detection › data race detection
predictive race detection |
0.2 | 1 | 2013 | Efficient data race prediction with incremental reasoning on time-stamped lock history · ASE 2013 |
Concurrent programming › concurrency analysis
multithreaded program analysis |
0.1 | 1 | 2012 | DTAM: dynamic taint analysis of multi-threaded programs for relevancy · SIGSOFT FSE 2012 |
Program analysis › static analysis
taint analysis |
0.1 | 1 | 2012 | DTAM: dynamic taint analysis of multi-threaded programs for relevancy · SIGSOFT FSE 2012 |
Electronic design automation
model checking |
0.1 | 2 | 2008 | Partial order reduction for scalable testing of systemC TLM designs · DAC 2008 Beyond safety: customized SAT-based model checking · DAC 2005 |
Automated reasoning and model checking › model checking
bounded model checking |
0.1 | 3 | 2004 | Efficient Modeling of Embedded Memories in Bounded Model Checking · CAV 2004 Learning from BDDs in SAT-based bounded model checking · DAC 2003 Abstraction and BDDs Complement SAT-Based BMC in DiVer · CAV 2003 |
Software testing
concurrency testing |
0.1 | 1 | 2010 | Contessa: Concurrency Testing Augmented with Symbolic Analysis · CAV 2010 |
Program analysis
symbolic execution |
0.1 | 1 | 2010 | Contessa: Concurrency Testing Augmented with Symbolic Analysis · CAV 2010 |
Program analysis › static analysis
abstract interpretation |
0.1 | 1 | 2008 | Bitwidth Reduction via Symbolic Interval Analysis for Software Model Checking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Program analysis › static analysis › abstract interpretation
interval analysis |
0.1 | 1 | 2008 | Bitwidth Reduction via Symbolic Interval Analysis for Software Model Checking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Program verification › model checking
software model checking |
0.1 | 1 | 2008 | Bitwidth Reduction via Symbolic Interval Analysis for Software Model Checking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Program verification › model checking
state space reduction |
0.1 | 1 | 2008 | Bitwidth Reduction via Symbolic Interval Analysis for Software Model Checking · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2008 |
Distributed systems › concurrency control
deadlock detection |
0.1 | 1 | 2008 | Partial order reduction for scalable testing of systemC TLM designs · DAC 2008 |
Electronic design automation › hardware verification and test › hardware verification
satisfiability modulo theories |
0.1 | 1 | 2008 | Tunneling and slicing: towards scalable BMC · DAC 2008 |
Electronic design automation › hardware verification and test › functional verification
SystemC TLM verification |
0.1 | 1 | 2008 | Partial order reduction for scalable testing of systemC TLM designs · DAC 2008 |
Electronic design automation › logic synthesis
boolean reasoning |
0.1 | 2 | 2002 | Robust Boolean reasoning for equivalence checking and functional property verification · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2002 Circuit-based Boolean Reasoning · DAC 2001 |
Logic in computer science › first-order logic
difference logic |
0.1 | 1 | 2006 | Predicate learning and selective theory deduction for a difference logic solver · DAC 2006 |
Automated reasoning and model checking › satisfiability › SAT solving
DPLL |
0.1 | 1 | 2006 | Predicate learning and selective theory deduction for a difference logic solver · DAC 2006 |
Automated reasoning and model checking
satisfiability |
0.1 | 1 | 2006 | Predicate learning and selective theory deduction for a difference logic solver · DAC 2006 |
Automated reasoning and model checking
satisfiability modulo theories |
0.1 | 1 | 2006 | Predicate learning and selective theory deduction for a difference logic solver · DAC 2006 |
Electronic design automation › model checking
unbounded model checking |
0.1 | 1 | 2005 | Beyond safety: customized SAT-based model checking · DAC 2005 |
Electronic design automation
logic synthesis |
0.0 | 2 | 2002 | Circuit-based Boolean Reasoning · DAC 2001 Robust Boolean reasoning for equivalence checking and functional property verification · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2002 |
Automated reasoning and model checking › satisfiability › SAT solving
clause learning |
0.0 | 1 | 2003 | Learning from BDDs in SAT-based bounded model checking · DAC 2003 |
Automated reasoning and model checking › model checking › symbolic model checking
SAT-based model checking |
0.0 | 1 | 2003 | Abstraction and BDDs Complement SAT-Based BMC in DiVer · CAV 2003 |
Methods — techniques the papers use, named apart from their topics
partial order reduction · 0.2constraint solving · 0.2symbolic execution · 0.2pairwise reachability · 0.2lock-reordering · 0.2incremental reasoning · 0.2taint tracking · 0.1event logging · 0.1binary instrumentation · 0.1binary decision diagram · 0.1symbolic analysis · 0.1SAT · 0.1tunneling · 0.1static partial order reduction · 0.1slicing · 0.1dynamic partial order reduction · 0.1binary decision diagrams · 0.1SMT · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | ReproLite: A Lightweight Tool to Quickly Reproduce Hard System BugsabstractCloud systems have become ubiquitous today -- they are used to store and process the tremendous amounts of data being generated by Internet users. These systems run on hundreds of commodity machines, and have a huge amount of non-determinism (thousands of threads and hundreds of processes) in their execution. Therefore, bugs that occur in cloud systems are hard to understand, reproduce, and fix. The state-of-the-art of debugging in the industry is to log messages during execution, and refer to those messages later in case of errors. In ReproLite, we augment the already widespread process of debugging using logs by enabling testers to quickly and easily specify the conjectures that they form regarding the cause of an error (or bug) from execution logs, and to also automatically validate those conjectures. Kaituo Li, Pallavi Joshi, Aarti Gupta, Malay K. Ganai |
SoCC | 4 |
| 2013 | Efficient data race prediction with incremental reasoning on time-stamped lock historyabstractWe present an efficient data race prediction algorithm that uses lock-reordering based incremental search on time-stamped lock histories for solving multiple races effectively. We balance prediction accuracy, coverage, and performance with a specially designed pairwise reachability algorithm that can store and re-use past search results, thereby, amortizing the cost of reasoning over redundant and overlapping search space. Compared to graph-based search algorithms, our algorithm incurs much smaller overhead due to amortization, and can potentially be used while a program under test is executing. To demonstrate such a possibility, we implemented our approach as an incremental Predictive Analysis (iPA) module in a predictive testing framework. Our approach can handle traces with a few hundreds to half a million events, and predict known/unknown real data races with a performance penalty of less than 4% in addition to what is incurred by runtime race detectors. Malay K. Ganai |
ASE | 1 |
| 2012 | Dynamic Livelock Analysis of Multi-threaded Programs
Malay K. Ganai |
RV | 1 |
| 2012 | DTAM: dynamic taint analysis of multi-threaded programs for relevancyabstractTesting and debugging multi-threaded programs are notoriously difficult due to non-determinism not only in inputs but also in OS schedules. In practice, dynamic analysis and failure replay systems instrument the program to record events of interest in the test execution, e.g., program inputs, accesses to shared objects, synchronization operations, context switches, etc. To reduce the overhead of logging during runtime, these testing and debugging efforts have proposed tradeoffs for sampling or selective logging, at the cost of reducing coverage or performing more expensive search offline. Malay K. Ganai, Aarti Gupta |
SIGSOFT FSE | 1 |
| 2011 | Scalable and precise symbolic analysis for atomicity violationsabstractWe present a symbolic testing tool BEST for finding atomicity violations. We automatically infer and generate potential atomicity properties from an observed run of a multi-threaded program, and use precise modeling and constraint-based symbolic search to find atomicity violating schedules in the most generalization of the observed run. We focus mainly on the tool scalability by devising various simplification steps to reduce the formula and the search space by orders-of-magnitude. To that effect, we also introduce a new notion of atomicity that is useful and simple to check. We demonstrate the effectiveness of the combined techniques on several public C/C++/Java benchmarks in finding known/unknown atomicity bugs. Malay K. Ganai |
ASE | 1 |
| 2011 | BEST: A symbolic testing tool for predicting multi-threaded program failuresabstractWe present a tool BEST (Binary instrumentation-based Error-directed Symbolic Testing) for predicting concurrency violations.1We automatically infer potential concurrency violations such as atomicity violations from an observed run of a multi-threaded program, and use precise modeling and constraint-based symbolic (non-enumerative) search to find feasible violating schedules in a generalization of the observed run. We specifically focus on tool scalability by devising POR-based simplification steps to reduce the formula and the search space by several orders-of-magnitude. We have successfully applied the tool to several publicly available C/C++/Java programs and found several previously known/unknown concurrency related bugs. The tool also has extensive visual support for debugging. Malay K. Ganai, Nipun Arora, Chao Wang 0001, Aarti Gupta, Gogul Balakrishnan |
ASE | 1 |
| 2011 | Predicting Concurrency Failures in the Generalized Execution Traces of x86 Executables
Chao Wang 0001, Malay K. Ganai |
RV | 2 |
| 2011 | Symbolic predictive analysis for concurrent programsabstractAbstract Predictive analysis aims at detecting concurrency errors during runtime by monitoring a concrete execution trace of a concurrent program. In recent years, various models based on the happens-before causality relations have been proposed for predictive analysis. However, these models often rely on only the observed runtime events and typically do not utilize the program source code. Furthermore, the enumerative algorithms they use for verifying safety properties in the predicted traces often suffer from the interleaving explosion problem. In this paper, we introduce a precise predictive model based on both the program source code and the observed execution events, and propose a symbolic algorithm to check whether a safety property holds in all feasible permutations of events of the given trace. Rather than explicitly enumerating and checking the interleavings, our method conducts the search using a novel encoding and symbolic reasoning with a satisfiability modulo theory solver. We also propose a technique to bound the number of context switches allowed in the interleavings during the symbolic search, to further improve the scalability of the algorithm. Chao Wang 0001, Sudipta Kundu, Rhishikesh Limaye, Malay K. Ganai, Aarti Gupta |
Formal Aspects Comput. | 4 |
| 2010 | Contessa: Concurrency Testing Augmented with Symbolic Analysis
Sudipta Kundu, Malay K. Ganai, Chao Wang 0001 |
CAV | 2 |
| 2010 | Scalable and precise program analysis at NEC
Gogul Balakrishnan, Malay K. Ganai, Aarti Gupta, Franjo Ivancic, Vineet Kahlon, Naoto Maeda, Nadia Papakonstantinou, Sriram Sankaranarayanan 0001, Nishant Sinha 0001, Chao Wang 0001 |
FMCAD | 2 |
| 2010 | Propelling SAT and SAT-based BMC using careset
Malay K. Ganai |
FMCAD | 1 |
| 2010 | Integrating ICP and LRA solvers for deciding nonlinear real arithmetic problems
Sicun Gao, Malay K. Ganai, Franjo Ivancic, Aarti Gupta, Sriram Sankaranarayanan 0001, Edmund M. Clarke |
FMCAD | 2 |
| 2010 | Efficient state space exploration: Interleaving stateless and state-based model checkingabstractState-based model checking methods comprise computing and storing reachable states, while stateless model checking methods directly reason about reachable paths using decision procedures, thereby avoiding computing and storing the reachable states. Typically, state-based methods involve memory-intensive operations, while stateless methods involve time-intensive operations. We propose a divide-and-conquer strategy to combine the complementary strengths of these methods for efficient verification of embedded software. Specifically, our model checking engine uses both state decomposition and state prioritization to guide the combination of a Presburger arithmetic based symbolic traversal algorithm (state-based) and an SMT based bounded model checking algorithm (stateless). These two underlying algorithms are interleaved-based on memory/time bounds and dynamic task partitioning-in order to systematically explore the state space and to avoid storing the entire reachable state set. We have implemented our new method in a tightly integrated verification tool called HMC (Hybrid Model Checker). We demonstrate the efficacy of the proposed method on some industry examples. Malay K. Ganai, Chao Wang 0001 |
ICCAD | 1 |
| 2010 | Numerical stability analysis of floating-point computations using software model checkingabstractSoftware model checking has recently been successful in discovering bugs in production software. Most tools have targeted heap related programming mistakes and control-heavy programs. However, real-time and embedded controllers implemented in software are susceptible to computational numeric instabilities. We target verification of numerical programs that use floating-point types, to detect loss of numerical precision incurred in such programs. Techniques based on abstract interpretation have been used in the past for such analysis. We use bounded model checking (BMC) based on Satisfiability Modulo Theory (SMT) solvers, which work on a mixed integer-real model that we generate for programs with floating points. We have implemented these techniques in our software verification platform. We report experimental results on benchmark examples to study the effectiveness of model checking on such problems, and the effect of various model simplifications on the performance of model checking. Franjo Ivancic, Malay K. Ganai, Sriram Sankaranarayanan 0001, Aarti Gupta |
MEMOCODE | 2 |
| 2010 | Interval Analysis for Concurrent Trace Programs Using Transaction Sequence Graphs
Malay K. Ganai, Chao Wang 0001 |
RV | 1 |
| 2010 | Trace-Based Symbolic Analysis for Atomicity Violations
Chao Wang 0001, Rhishikesh Limaye, Malay K. Ganai, Aarti Gupta |
TACAS | 3 |
| 2009 | Symbolic Predictive Analysis for Concurrent Programs
Chao Wang 0001, Sudipta Kundu, Malay K. Ganai, Aarti Gupta |
FM | 3 |
| 2009 | Efficient decision procedure for non-linear arithmetic constraints using CORDICabstractIn verification of hybrid discrete-continuous and embedded control systems, one encounters decision problems involving non-linear constraints. We propose an efficient decision procedure (CORD) for such decisions problems using CORDIC algorithms, and an off-the-shelf SMT(LA) (Satisfiability Modulo Theory for Linear Arithmetic) solver, for given precision requirements. We first translate the non-linear part of the decision problem to a SMT(LA) formula using CORDIC algorithms, accounting for all the inaccuracies safely. In the translation, we use a normalization scheme, combined with interval bounds to obtain a linearized formula without compromising the precision requirements. On such a linearized formula, we devise a DPLL-style Interval Search Engine (DISE) that explores various combinations of interval bounds using a SMT(LA) solver. In our experiments, we demonstrate the efficacy of our approach, and compare it with a latest state-of-the-art decision procedure. Malay K. Ganai, Franjo Ivancic |
FMCAD | 1 |
| 2009 | Bang for the buck: Improvising and scheduling verification engines for effective resource utilizationabstractIn practice, verification engines have to solve many checkers in a very tight time budget, especially, when the system to be analyzed is large, with many coverage criteria. To cope with such a situation, we propose improved and light-weight verification techniques that are built over the state-of-the-art engines such as bounded model checking (BMC), induction, and guided-simulation (directed testing). Specifically, we propose using control state reachability (CSR) information—obtained from a given software system—to strengthen our induction-based proof engine. We also propose identifying and using lighthouses (or guide-posts)—intermediate control states—to simplify and reduce BMC instances, and to guide a simulation engine. We schedule these engines suitably to maximize the resource utilization. We implemented our techniques in a tool ACE, and integrated it in an industry strength software verification platform F-Soft to provide a robust and precise analysis framework. We show effectiveness of ACE on several industry and public benchmarks in a comparative study. Malay K. Ganai |
MEMOCODE | 1 |
| 2008 | Tunneling and slicing: towards scalable BMCabstractBounded Model Checking (BMC) provides complete design coverage with respect to a correctness property up to a bounded depth. However, with successive unrolling of the design, each BMC instance at depth k becomes bigger in size and harder to solve. We propose a novel scalable approach to decompose disjunctively a BMC instance, into simpler and independent subproblems, based on tunnels i.e., a set of control paths. We simplify each subproblem using slicing, data path simplification and tunnel specific control flow constraints, and solve them independently. We implemented such a tunneling and slicing-based reduction (TSR) approach in Satisfiability-Modulo-Theory (SMT)-based BMC framework. Such a TSR-based approach improves the overall performance of BMC when applied to verification of lowlevel embedded industry programs. Malay K. Ganai, Aarti Gupta |
DAC | 1 |
| 2008 | Partial order reduction for scalable testing of systemC TLM designsabstractA SystemC simulation kernel consists of a deterministic implementation of the scheduler, whose specification is non-deterministic. To leverage testing of a SystemC TLM design, we focus on automatically exploring all possible behaviors of the design for a given data input. We combine static and dynamic partial order reduction techniques with SystemC semantics to intelligently explore a subset of the possible traces, while still being provably sufficient for detecting deadlocks and safety property violations. We have implemented our exploration algorithm in a framework called Satya and have applied it to a variety of examples including the TAC benchmark. Using Satya, we automatically found an assertion violation in a benchmark distributed as a part of the OSCI repository. Sudipta Kundu, Malay K. Ganai, Rajesh K. Gupta 0001 |
DAC | 2 |
| 2008 | Completeness in SMT-based BMC for Software ProgramsabstractBounded Model Checking (BMC) is incomplete without a completeness threshold (CT) bound. Previous methods, using recurrence diameter for obtaining CT, check for existence of a longest loop-free path at every depth k. For terminating software programs, we propose an efficient method for obtaining CT that requires solving a formula of size O(k) at some depths only, as compared to previous methods that require solving a formula of O(k2) (or O(klogk)) size at every depth. We augment previous methods for BMC simplifications using model transformation and control flow information, with context-sensitive analysis. This results in more BMC simplifications and further reduction in the number of CT checks. We have implemented our techniques in a Satisfiability Modulo Theory (SMT)-based BMC framework. Our controlled experiments on real-world software programs show that our proposed formulation provides significant improvements over previous approaches. Malay K. Ganai, Aarti Gupta |
DATE | 1 |
| 2008 | Embedded software verification: challenges and solutionsabstractEmbedded software are becoming more and more pervasive in our lives, and many application domains have very high reliability requirements. Ensuring high software quality while still maintaining software productivity is a challenging task. In order to address this challenge, more formal analysis and automated verification techniques are needed in addition to standard software testing. Chao Wang 0001, Malay K. Ganai, Shuvendu K. Lahiri, Daniel Kroening |
ICCAD | 2 |
| 2008 | PED: Proof-Guided Error Diagnosis by Triangulation of Program Error CausesabstractError diagnosis, which is the process of identifying the root causes of bugs in software, is a time-consuming process. In general, it is hard to automate error diagnosis due to the unavailability of a full ldquogoldenrdquo specification of the system behavior in realistic software development. We propose a repair-based proof-guided error diagnosis (PED) framework, that provides a first-line attack to find the root causes of the errors in programs by pin-pointing the possible error-sites (buggy statements), and suggesting possible repair fixes. Our framework does not need a complete system specification. Instead, it automatically ldquominesrdquo partial specifications of the intended program behavior from the proofs obtained by static program analysis for standard safety checkers. It uses these partial specifications along with the multiple error traces provided by a model checker to narrow down the possible error sites. It also exploits inherent correlations among the program statements. To capture common programming mistakes, it directs the search to those statements that could be buggy due to simple copy-paste operations or syntactic mistakes such as using les instead of <. To further improve debugging, it prioritizes the repair solutions. We implemented and integrated the PED tool as a plug-in module to a software verification framework. We show the efficacy of such a framework on public benchmarks. Gogul Balakrishnan, Malay K. Ganai |
SEFM | 2 |
| 2008 | Bitwidth Reduction via Symbolic Interval Analysis for Software Model CheckingabstractThis paper presents a lightweight interval analysis technique for determining the lower and upper bounds for program variables and its application in improving software model checking techniques. The experiments demonstrate that it is an effective approach to alleviate the state explosion problem in software model checking. Aleksandr Zaks, Zijiang Yang 0006, Ilya Shlyakhter, Franjo Ivancic, Srihari Cadambi, Malay K. Ganai, Aarti Gupta, Pranav Ashar |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 6 |
| 2008 | Efficient SAT-based bounded model checking for software verification
Franjo Ivancic, Zijiang Yang 0006, Malay K. Ganai, Aarti Gupta, Pranav Ashar |
Theor. Comput. Sci. | 3 |
| 2007 | Efficient BMC for Multi-Clock Systems with Clocked SpecificationsabstractCurrent industry trends in system design - multiple clocks, clocks with arbitrary frequency ratios, multi-phased clocks, gated clocks, and level-sensitive latches, combined with clocked - pose additional challenges to verification efforts. We propose an integrated solution that improves SAT-based bounded model checking (BMC) by orders of magnitude, for verification of synchronous multi-clock systems with clocked LTL properties. Our main contributions are: a) efficient clock modeling schemes to handle clock related challenges uniformly; b) generation of automatic schedules and clock constraints to avoid unnecessary unrolling and loop-checks in BMC; c) dynamic simplification of BMC problem instances with clock constraints; and d) customized BMC translations - with incremental formulations and learning - to directly handle PSL-style clocked specifications. We demonstrate the effectiveness of our approach on some OpenCores multi-clock system benchmarks. Malay K. Ganai, Aarti Gupta |
ASP-DAC | 1 |
| 2006 | Predicate learning and selective theory deduction for a difference logic solverabstractDesign and verification of systems at the Register-Transfer (RT) or behavioral level require the ability to reason at higher levels of abstraction. Difference logic consists of an arbitrary Boolean combination of propositional variables and difference predicates and therefore provides an appropriate abstraction. In this paper, we present several new optimization techniques for efficiently deciding difference logic formulas. We use the lazy approach by combining a DPLL Boolean SAT procedure with a dedicated graph-based theory solver, which adds transitivity constraints among difference predicates on a "need-to" basis. Our new optimization techniques include flexible theory constraint propagation, selective theory deduction, and dynamic predicate learning. We have implemented these techniques in our lazy solver. We demonstrate the effectiveness of the proposed techniques on public benchmarks through a set of controlled experiments. Chao Wang 0001, Aarti Gupta, Malay K. Ganai |
DAC | 3 |
| 2006 | Accelerating high-level bounded model checkingabstractSAT-based Bounded Model Checking (BMC) has been found promising in finding deep bugs in industry designs and scaling well with design sizes. However, it has limitations due to requirement of finite data paths, inefficient translations and loss of high-level design information during the BMC problem formulation. These shortcomings inherent in Boolean-level BMC can be avoided by using high-level BMC. We propose a novel framework for high-level BMC, which includes several techniques that extract high-level design information from EFSM models to make the verification model "BMC friendly", and use it on-the-fly to simplify the BMC problem instances. Such techniques overcome the inherent limitations of Boolean-level BMC, while allowing integration of state-of-the-art techniques for BMC. In our controlled experiments we found signficant performance improvements achievable by the proposed techniques. Malay K. Ganai, Aarti Gupta |
ICCAD | 1 |
| 2006 | SDSAT: Tight Integration of Small Domain Encoding and Lazy Approaches in a Separation Logic Solver
Malay K. Ganai, Muralidhar Talupur, Aarti Gupta |
TACAS | 1 |
| 2006 | Efficient distributed SAT and SAT-based distributed Bounded Model Checking
Malay K. Ganai, Aarti Gupta, Zijiang Yang 0006, Pranav Ashar |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2005 | F-Soft: Software Verification Platform
Franjo Ivancic, Zijiang Yang 0006, Malay K. Ganai, Aarti Gupta, Ilya Shlyakhter, Pranav Ashar |
CAV | 3 |
| 2005 | Beyond safety: customized SAT-based model checkingabstractModel checking of safety properties has taken a significant lead over non-safety properties in recent years. To bridge the gap, we propose dedicated SAT-based model checking algorithms for properties beyond safety. Previous bounded model checking (BMC) approaches have relied on either converting such properties to safety checking, or finding proofs by deriving termination criteria using loop-free path analysis. Instead, our approach uses a customized SAT-based formulation for bounded model checking of non-safety properties, and determines the completeness bounds for liveness using unbounded SAT-based analysis. Our main contributions are: 1) Customized property translations for LTL formulas for BMC, with novel features that utilize partitioning, learning, and incremental formulation. Customized translations not only improve the BMC performance significantly in comparison to standard monolithic LTL translations, but also allow efficient derivation and use of completeness bounds. Though we discuss the translation schemas for liveness, they can be easily extended to handle other LTL properties as well. 2) Customized formulations for determining completeness bounds for liveness using SAT-based unbounded model checking (UMC) rather than using loop-free path analysis. These formulations comprise greatest fixed-point and least fixed-point computations to efficiently handle nested properties using SAT-based quantification approaches. We show the effectiveness of our overall approach for checking liveness on public benchmarks and several industry designs. Malay K. Ganai, Aarti Gupta, Pranav Ashar |
DAC | 1 |
| 2005 | Verification of Embedded Memory Systems using Efficient Memory ModelingabstractWe describe verification techniques for embedded memory systems using efficient memory modeling (EMM), without explicitly modeling each memory bit. We extend our previously proposed approach of EMM in bounded model checking (BMC) for a single read/write port single memory system, to more commonly occurring systems with multiple memories, having multiple read and write ports. More importantly, we augment such EMM to providing correctness proofs, in addition to finding real bugs as before. The novelties of our verification approach are in (a) combining EMM with a proof-based abstraction that preserves the correctness of a property up to a certain analysis depth of SAT-based BMC, and (b) modeling arbitrary initial memory state precisely and thereby providing inductive proofs using SAT-based BMC for embedded memory systems. Similar to the previous approach, we construct a verification model by eliminating memory arrays, but retaining the memory interface signals with their control logic and adding constraints on those signals at every analysis depth to preserve the data forwarding semantics. The size of these EMM constraints depends quadratically on the number of memory accesses and the number of read and write ports; and linearly on the address and data widths and the number of memories. We show the effectiveness of our approach on several industry designs and software programs. Malay K. Ganai, Aarti Gupta, Pranav Ashar |
DATE | 1 |
| 2005 | Model Checking C Programs Using F-SOFTabstractWith the success of formal verification techniques like equivalence checking and model checking for hardware designs, there has been growing interest in applying such techniques for formal analysis and automatic verification of software programs. This paper provides a brief tutorial on model checking of C programs. The essential approach is to model the semantics of C programs in the form of finite state systems by using suitable abstractions. The use of abstractions is key, both for modeling programs as finite state systems and for reducing the model sizes in order to manage verification complexity. We provide illustrative details of a verification platform called F-Soft, which provides a range of abstractions for modeling software, and uses customized SAT-based and BDD-based model checking techniques targeted for software. Franjo Ivancic, Ilya Shlyakhter, Aarti Gupta, Malay K. Ganai, Vineet Kahlon, Chao Wang 0001, Zijiang Yang 0006 |
ICCD | 4 |
| 2005 | Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination
Chao Wang 0001, Franjo Ivancic, Malay K. Ganai, Aarti Gupta |
LPAR | 3 |
| 2005 | DiVer: SAT-Based Model Checking Platform for Verifying Large Scale Systems
Malay K. Ganai, Aarti Gupta, Pranav Ashar |
TACAS | 1 |
| 2005 | Localization and Register Sharing for Predicate Abstraction
Himanshu Jain, Franjo Ivancic, Aarti Gupta, Malay K. Ganai |
TACAS | 4 |
| 2004 | Efficient Modeling of Embedded Memories in Bounded Model Checking
Malay K. Ganai, Aarti Gupta, Pranav Ashar |
CAV | 1 |
| 2004 | Efficient SAT-based unbounded symbolic model checking using circuit cofactoringabstractWe describe an efficient approach for SAT-based quantifier elimination that significantly improves the performance of pre-image and fixed-point computation in SAT-based unbounded symbolic model checking (UMC). The proposed method captures a larger set of new states per SAT-based enumeration step during quantifier elimination, in comparison to previous approaches. The novelty of our approach is in the use of circuit-based cofactoring to capture a large set of states, and in the use of a functional hashing based simplified circuit graph to represent the captured states. We also propose a number of heuristics to further enlarge the state set represented per enumeration, thereby reducing the number of enumeration steps. We have implemented our techniques in a SAT-based UMC framework where we show the effectiveness of SAT-based existential quantification on public benchmarks, and on a number of large industry designs that were hard to model check using purely BDD-based techniques. We show several orders of improvement in time and space using our approach over previous CNF-based approaches. We also present controlled experiments to demonstrate the role of several heuristics proposed in the paper. Importantly, we were able to prove using our method the correctness of a safety property in an industry design that could not be proved using other known approaches. Malay K. Ganai, Aarti Gupta, Pranav Ashar |
ICCAD | 1 |
| 2003 | Abstraction and BDDs Complement SAT-Based BMC in DiVer
Aarti Gupta, Malay K. Ganai, Chao Wang 0001, Zijiang Yang 0006, Pranav Ashar |
CAV | 2 |
| 2003 | Learning from BDDs in SAT-based bounded model checkingabstractBounded Model Checking (BMC) based on Boolean Satisfiability (SAT) procedures has recently gained popularity as an alternative to BDD-based model checking techniques for finding bugs in large designs. In this paper, we explore the use of learning from BDDs, where learned clauses generated by BDD-based analysis are added to the SAT solver, to supplement its other learning mechanisms. We propose several heuristics for guiding this process, aimed at increasing the usefulness of the learned clauses, while reducing the overheads. We demonstrate the effectiveness of our approach on several industrial designs, where BMC performance is improved and the design can be searched up to a greater depth by use of BDD-based learning. Aarti Gupta, Malay K. Ganai, Chao Wang 0001, Zijiang Yang 0006, Pranav Ashar |
DAC | 2 |
| 2003 | Iterative Abstraction using SAT-based BMC with Proof AnalysisabstractResolution-based proof analysis techniques have been proposed recently to identify a sufficient set of reasons for unsatisfiability derived by a CNF-based SAT solver. We have adapted these techniques to work with a hybrid SAT solver. We use the proof analysis technique with SAT-based BMC, in order to, generate useful abstract models. Our abstraction procedure is used iteratively in a top-down framework, starting from the concrete design, where we apply BMC on increasingly more abstract models. We apply various SAT-based and BDD-based verification methods on these abstract models, in order to obtain proofs of correctness, or to perform deeper searches for counterexamples. We demonstrate the effectiveness of our prototype implementation on several large industry designs. Aarti Gupta, Malay K. Ganai, Zijiang Yang 0006, Pranav Ashar |
ICCAD | 2 |
| 2002 | Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solverabstractWe propose Satisfiability Checking (SAT) techniques that lead to a consistent performance improvement of up to 3x over state-of-the-art SAT solvers like Chaff on important problem domains in VLSI CAD. We observe that in circuit oriented applications like ATPG and verification, different software engineering techniques are required for the portions of the formula corresponding to learnt clauses compared to the original formula. We demonstrate that by employing the same innovations as in advanced CNF-based SAT solvers, but in a hybrid approach where these two portions of the formula are represented differently and processed separately, it is possible to obtain the consistently highest performing SAT solver for circuit oriented problem domains. We also present controlled experiments to highlight where these gains come from. Once it is established that the hybrid approach is faster, it becomes possible to apply low overhead circuit-based heuristics that would be unavailable in the CNF domain for greater speedup. Malay K. Ganai, Pranav Ashar, Aarti Gupta, Sharad Malik |
DAC | 1 |
| 2002 | Robust Boolean reasoning for equivalence checking and functional property verificationabstractMany tasks in computer-aided design (CAD), such as equivalence checking, property checking, logic synthesis, and false paths analysis, require efficient Boolean reasoning for problems derived from circuits. Traditionally, canonical representations, e.g., binary decision diagrams (BDDs), or structural satisfiability (SAT) methods, are used to solve different problem instances. Each of these techniques offer specific strengths that make them efficient for particular problem structures. However, neither structural techniques based on SAT, nor functional methods using BDDs offer an overall robust reasoning mechanism that works reliably for a broad set of applications. The authors present a combination of techniques for Boolean reasoning based on BDDs, structural transformations, an SAT procedure, and random simulation natively working on a shared graph representation of the problem. The described intertwined integration of the four techniques results in a powerful summation of their orthogonal strengths. The presented reasoning technique was mainly developed for formal equivalence checking and property verification but can equally be used in other CAD applications. The authors' experiments demonstrate the effectiveness of the approach for a broad set of applications. Andreas Kuehlmann, Viresh Paruthi, Florian Krohm, Malay K. Ganai |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 4 |
| 2001 | Circuit-based Boolean ReasoningabstractMany tasks in CAD, such as equivalence checking, property checking, logic synthesis, and false paths analysis require efficient Boolean reasoning for problems derived from circuit structures. Traditionally, canonical representations, e. g., BDDs, or SAT- based search methods are used to solve a particular class of problems. In this paper we present a combination of techniques for Boolean reasoning based on BDDs, structural transformations, and a SAT procedure natively working on a shared graph representation of the problem. The described intertwined integration of the three techniques results in a robust summation of their orthogonal strengths. Our experiments demonstrate the effectiveness of the approach. Andreas Kuehlmann, Malay K. Ganai, Viresh Paruthi |
DAC | 2 |
| 2001 | Rarity based guided state space searchabstractState explosion is a common problem when verifying large designs. Partial state exploration using guided techniques has become a subject of wide research. We propose a rarity-based metric for state prioritization and several techniques which use the metric for enhanced state space search. These techniques use latch toggle activity and latch support for partitioning the design. The computation overhead for these techniques is minimal. Coverage results on the large industrial designs show the effectiveness of our approach. Malay K. Ganai, Adnan Aziz |
ACM Great Lakes Symposium on VLSI | 1 |
| 2001 | SIVA: A System for Coverage-Directed State Space Search
Malay K. Ganai, Praveen Yalagandula, Adnan Aziz, Andreas Kuehlmann, Vigyan Singhal |
J. Electron. Test. | 1 |
| 1999 | Enhancing Simulation with BDDs and ATPGabstractWe introduce Simulation Verification with Augmentation (SIVA), a tool for checking safety properties on digital hardware designs.SIVA integrates simulation with symbolic techniques for vector generation.Specifically, the core algorithm uses a combination of ATPG and BDDs to generate input vectors which cover behavior not excited by simulation.Experimental results demonstrate considerable improvement in state space coverage compared with either simulation or formal verification in isolation. Malay K. Ganai, Adnan Aziz, Andreas Kuehlmann |
DAC | 1 |