Demo Data from VLDB 2026 / reviewers in the wild / expert
Vineet Kahlon
dblp:64/3264
· DBLP profile ↗
25ranked-venue papers
17as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 18 · 13 first-authorTheory of computation · 14 · 11 first-authorArtificial intelligence and machine learning · 1Systems, architecture and hardware · 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
12 papers |
Concurrent programming · 49% Program analysis · 38% Program verification · 13% | |
| Theoretical computer science
6 papers |
Automated reasoning and model checking · 64% Logic in computer science · 19% Distributed computing theory · 7% |
Topics — the 21 heaviest of 26, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
concurrent program analysis |
0.2 | 2 | 2009 | Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks · LICS 2009 Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs · LICS 2008 |
Program analysis
data flow analysis |
0.2 | 2 | 2009 | Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks · LICS 2009 Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs · LICS 2008 |
Concurrent programming
concurrency bugs |
0.2 | 2 | 2009 | Static data race detection for concurrent programs with asynchronous calls · ESEC/SIGSOFT FSE 2009 Fast and Accurate Static Data-Race Detection for Concurrent Programs · CAV 2007 |
Concurrent programming › concurrency bug detection
data race detection |
0.2 | 2 | 2009 | Static data race detection for concurrent programs with asynchronous calls · ESEC/SIGSOFT FSE 2009 Fast and Accurate Static Data-Race Detection for Concurrent Programs · CAV 2007 |
Program analysis
static analysis |
0.2 | 2 | 2009 | Static data race detection for concurrent programs with asynchronous calls · ESEC/SIGSOFT FSE 2009 Fast and Accurate Static Data-Race Detection for Concurrent Programs · CAV 2007 |
Program verification › model checking
partial order reduction |
0.2 | 2 | 2009 | Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique · CAV 2009 Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions · CAV 2006 |
Automated reasoning and model checking › model checking
symbolic model checking |
0.2 | 2 | 2009 | Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique · CAV 2009 Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions · CAV 2006 |
Concurrent programming
lock elimination |
0.1 | 1 | 2012 | Lock Removal for Concurrent Trace Programs · CAV 2012 |
Program verification › model checking
pushdown systems |
0.1 | 2 | 2007 | On the analysis of interacting pushdown systems · POPL 2007 An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006 |
Concurrent programming
concurrency bug detection |
0.1 | 1 | 2010 | Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs · CAV 2010 |
Program analysis
CFL-reachability |
0.1 | 1 | 2009 | Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks · LICS 2009 |
Concurrent programming › concurrency bugs
data races |
0.1 | 1 | 2009 | Static data race detection for concurrent programs with asynchronous calls · ESEC/SIGSOFT FSE 2009 |
Concurrent programming
synchronization |
0.1 | 1 | 2009 | Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks · LICS 2009 |
Program analysis › static analysis
abstract interpretation |
0.1 | 1 | 2008 | Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs · LICS 2008 |
Program analysis › static analysis
pointer analysis |
0.1 | 1 | 2008 | Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis · PLDI 2008 |
Logic in computer science › temporal logic
linear temporal logic |
0.1 | 1 | 2006 | An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006 |
Automated reasoning and model checking
model checking |
0.1 | 1 | 2006 | An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006 |
Automated reasoning and model checking › program verification
verification of concurrent systems |
0.1 | 1 | 2006 | An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006 |
Distributed computing theory › distributed algorithms
communication primitives |
0.0 | 1 | 2003 | Model Checking Guarded Protocols · LICS 2003 |
Computational complexity › descriptive complexity
expressiveness hierarchy |
0.0 | 1 | 2003 | Model Checking Guarded Protocols · LICS 2003 |
Automated reasoning and model checking › model checking › infinite-state model checking
parameterized model checking |
0.0 | 1 | 2003 | Model Checking Guarded Protocols · LICS 2003 |
Methods — techniques the papers use, named apart from their topics
monotonic partial order reduction · 0.2universal causality graphs · 0.1static analysis · 0.1lock chain analysis · 0.1CFL-reachability · 0.1parameterization · 0.1parallelization · 0.1function summarization · 0.1divide-and-conquer · 0.1abstract interpretation · 0.1symbolic model checking · 0.1pre*-closure computation · 0.1partial order reduction · 0.1lock-constrained multi-automata pairs · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Static analysis for concurrent programs with applications to data race detection
Vineet Kahlon, Sriram Sankaranarayanan 0001, Aarti Gupta |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2012 | Concurrent Test Generation Using Concolic Multi-trace Analysis
Niloofar Razavi, Franjo Ivancic, Vineet Kahlon, Aarti Gupta |
APLAS | 3 |
| 2012 | Lock Removal for Concurrent Trace Programs
Vineet Kahlon, Chao Wang 0001 |
CAV | 1 |
| 2012 | Schedule Insensitivity Reduction
Vineet Kahlon |
FASE | 1 |
| 2012 | Automatic lock insertion in concurrent programs
Vineet Kahlon |
FMCAD | 1 |
| 2011 | Reasoning about Threads with Bounded Lock Chains
Vineet Kahlon |
CONCUR | 1 |
| 2010 | Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs
Vineet Kahlon, Chao Wang 0001 |
CAV | 1 |
| 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 | 5 |
| 2009 | Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique
Vineet Kahlon, Chao Wang 0001, Aarti Gupta |
CAV | 1 |
| 2009 | Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via LocksabstractThe problem of pairwise CFL-reachability is to decide whether two given program locations in different threads are simultaneously reachable in the presence of recursion in threads and scheduling constraints imposed by synchronization primitives. Pairwise CFL-reachability is the core problem underlying concurrent program analysis especially dataflow analysis. Unfortunately, it is undecidable even for the most commonly used synchronization primitive, i.e., mutex locks. Lock usage in concurrent programs can be characterized in terms of lock chains, where a sequence of mutex locks is said to be chained if the scopes of adjacent (non-nested) mutexes overlap. Although pairwise reachability is known to decidable for threads interacting via nested locks, i.e., chains of length one, these techniques donpsilat extend to programs with non-nested locks used in crucial applications like databases and device drivers. In this paper, we exploit the fact that lock usage patterns in real life programs do not produce unbounded lock chains. For such programs, we show that pairwise CFL-reachability becomes decidable. Our new results narrow the decidability gap for pairwise CFL-reachability by providing a more refined characterization for it in terms of boundedness of lock chains rather than the current state-of-the-art, i.e., nestedness of locks (chains of length one). Vineet Kahlon |
LICS | 1 |
| 2009 | Static data race detection for concurrent programs with asynchronous callsabstractA large number of industrial concurrent programs are being designed based on a model which combines threads with event-based communication. These programs consist of several threads which perform computation by dispatching tasks to other threads via asynchronous function calls. These asynchronous function calls are implemented using function objects, which are essentially wrappers containing a pointer to the function that should be executed on a particular thread with the corresponding arguments. In many cases, the arguments, in turn, contain function objects which serve as callbacks. Verifying such programs which involves reasoning about complex concurrency constructs comprising function pointers and callback functions is extremely tricky especially in the presence of recursion. In this paper, we present a fast and accurate static data race detection technique for multi-threaded C programs with asynchronous function calls and demonstrate its application to real-life software. Vineet Kahlon, Nishant Sinha 0001, Erik Kruus |
ESEC/SIGSOFT FSE | 1 |
| 2009 | Semantic Reduction of Thread Interleavings in Concurrent Programs
Vineet Kahlon, Sriram Sankaranarayanan 0001, Aarti Gupta |
TACAS | 1 |
| 2008 | Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent ProgramsabstractDataflow analysis for concurrent programs is a problem of critical importance but, unfortunately, also an undecidable one. A key obstacle is to determine precisely how dataflow facts at a location in a given thread could be affected by operations of other threads.This problem, in turn, boils down to pairwise reachability, i.e., given program locations c1and c2in two threads T1and T2, respectively, determining whether c1 and c2 are simultaneously reachable in the presence of constraints imposed by synchronization primitives. Unfortunately, pairwise reachability is undecidable for most synchronization primitives. However, we leverage the surprising result that the closely related problem of parameterized pairwise reachability of c1and c2, i.e., whether for some n1and n2, c1and c2are simultaneously reachable in the program T1n1||T2n2comprised of n1copies of T1and n2copies of T2,is not only decidable for many primitives, but efficiently so. Although parameterization makes pairwise reachability tractable it may over-approximate the set of pairwise reachable locations and can, therefore, be looked upon as an abstraction technique.Where as abstract interpretation is used for control and data abstractions, we propose the use of parameterization as an abstraction for concurrency. Leveraging abstract interpretation in conjunction with parameterization allows us to lift two desirable properties of sequential dataflow analysis to the concurrent domain, i.e., precision and scalability. Vineet Kahlon |
LICS | 1 |
| 2008 | Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysisabstractWe propose a framework for improving both the scalability as well as the accuracy of pointer alias analysis, irrespective of its flow or context-sensitivities, by leveraging a three-pronged strategy that effectively combines divide and conquer, parallelization and function summarization. A key step in our approach is to first identify small subsets of pointers such that the problem of computing aliases of any pointer can be reduced to computing them in these small subsets instead of the entire program. In order to identify these subsets, we first apply a series of increasingly accurate but highly scalable (context and flow-insensitive) alias analyses in a cascaded fashion such that each analysis Ai works on the subsets generated by the previous one Ai-1. Restricting the application of Ai to subsets generated by Ai-1, instead of the entire program, improves it scalability, i.e., Ai is bootstrapped by Ai-1. Once these small subsets have been computed, in order to make our overall analysis accurate, we employ our new summarization-based flow and context-sensitive alias analysis. The small size of each subset offsets the higher computational complexity of the context-sensitive analysis. An important feature of our framework is that the analysis for each of the subsets can be carried out independently of others thereby allowing us to leverage parallelization further improving scalability. Vineet Kahlon |
PLDI | 1 |
| 2008 | Peephole Partial Order Reduction
Chao Wang 0001, Zijiang Yang 0006, Vineet Kahlon, Aarti Gupta |
TACAS | 3 |
| 2007 | Fast and Accurate Static Data-Race Detection for Concurrent Programs
Vineet Kahlon, Yu Yang 0013, Sriram Sankaranarayanan 0001, Aarti Gupta |
CAV | 1 |
| 2007 | On the analysis of interacting pushdown systems
Vineet Kahlon, Aarti Gupta |
POPL | 1 |
| 2006 | Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions
Vineet Kahlon, Aarti Gupta, Nishant Sinha 0001 |
CAV | 1 |
| 2006 | An Automata-Theoretic Approach for Model Checking Threads for LTL PropertabstractIn this paper, we propose a new technique for the verification of concurrent multi-threaded programs. In general, the problem is known to be undecidable even for programs with just two threads. However, we exploit the observation that, in practice, a large fraction of concurrent programs can either be modeled as pushdown systems communicating solely using locks or can be reduced to such systems by applying standard abstract interpretation techniques or by exploiting separation of data from control. Moreover, standard programming practice guidelines typically recommend that programs use locks in a nested fashion. In fact, in languages like Java and C#, locks are guaranteed to be nested. For such a framework, we show, by using the new concept of Lock Constrained Multi-Automata Pair (LMAP), that pre*-closures of regular sets of states can be computed efficiently. This is accomplished by reducing the pre*-closure computation for a regular set of states of a concurrent program with nested locks to those for its individual threads. Leveraging this new technique then allows us to formulate a fully automatic, efficient and exact (sound and complete) decision procedure for model checking threads communicating via nested locks for indexed linear-time temporal logic formulae Vineet Kahlon, Aarti Gupta |
LICS | 1 |
| 2005 | Reasoning About Threads Communicating via Locks
Vineet Kahlon, Franjo Ivancic, Aarti Gupta |
CAV | 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 | 5 |
| 2003 | Model Checking Guarded ProtocolsabstractThe parameterized model checking problem (PMCP) is to decide whether a temporal property holds for a uniform family of systems, C||U/sup n/, comprised of a control process, C, and finitely, but arbitrarily, many copies of a user process, U, executing concurrently with interleaving semantics. We delineate the decidability/undecidability boundary of the PMCP for all possible systems that arise by letting processes coordinate using different subsets of the following communication primitives: conjunctive Boolean guards, disjunctive Boolean guards, pairwise rendezvous, asynchronous rendezvous and broadcast actions. Our focus is on the following linear time properties: (p1) LTL/spl bsol/X formulae over C; (p2) LTL formulae over C; (p3) regular properties specified as regular automata; and (p4) /spl omega/-regular automata. We also establish a hierarchy based on the relative expressive power of the primitives by showing that disjunctive guards and pairwise rendezvous are equally expressive, in that we can reduce the PMCP for regular and /spl omega/-regular properties for systems with disjunctive guards and pairwise rendezvous are equally expressive, in that we can reduce the PMCP for regular and /spl omega/-regular properties for systems with disjunctive guards to ones with pairwise rendezvous and vise versa, but that each of asynchronous rendezvous and broadcasts is strictly more expressive than pairwise rendezvous (and disjunctive guards). Moreover, for systems with conjunctive guards, we give a simple characterization of the decidability/undecidability boundary of the PMCP by showing that allowing stuttering sensitive properties bridges the gap between decidability (for p1) and undecidability (for p2). A broad framework for modeling snoopy cache protocols is also presented for which the PMCP for p3 is decidable and that can model all snoopy cache protocols given by Culler and Emerson (1988) thereby overcoming the undecidability results. E. Allen Emerson, Vineet Kahlon |
LICS | 2 |
| 2003 | Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols
E. Allen Emerson, Vineet Kahlon |
TACAS | 2 |
| 2002 | Model Checking Large-Scale and Parameterized Resource Allocation Systems
E. Allen Emerson, Vineet Kahlon |
TACAS | 2 |
| 2000 | Reducing Model Checking of the Many to the Few
E. Allen Emerson, Vineet Kahlon |
CADE | 2 |