Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Vineet Kahlon

dblp:64/3264 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Program analysis
concurrent program analysis
0.222009
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.222009
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.222009
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.222009
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.222009
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.222009
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.222009
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.112012
Lock Removal for Concurrent Trace Programs · CAV 2012
Program verification › model checking
pushdown systems
0.122007
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.112010
Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs · CAV 2010
Program analysis
CFL-reachability
0.112009
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.112009
Static data race detection for concurrent programs with asynchronous calls · ESEC/SIGSOFT FSE 2009
Concurrent programming
synchronization
0.112009
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.112008
Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs · LICS 2008
Program analysis › static analysis
pointer analysis
0.112008
Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis · PLDI 2008
Logic in computer science › temporal logic
linear temporal logic
0.112006
An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006
Automated reasoning and model checking
model checking
0.112006
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.112006
An Automata-Theoretic Approach for Model Checking Threads for LTL Propert · LICS 2006
Distributed computing theory › distributed algorithms
communication primitives
0.012003
Model Checking Guarded Protocols · LICS 2003
Computational complexity › descriptive complexity
expressiveness hierarchy
0.012003
Model Checking Guarded Protocols · LICS 2003
Automated reasoning and model checking › model checking › infinite-state model checking
parameterized model checking
0.012003
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
YearPublicationVenuePosition
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
APLAS3
2012 Lock Removal for Concurrent Trace Programs
Vineet Kahlon, Chao Wang 0001
CAV1
2012 Schedule Insensitivity Reduction
Vineet Kahlon
FASE1
2012 Automatic lock insertion in concurrent programs
Vineet Kahlon
FMCAD1
2011 Reasoning about Threads with Bounded Lock Chains
Vineet Kahlon
CONCUR1
2010 Universal Causality Graphs: A Precise Happens-Before Model for Detecting Bugs in Concurrent Programs
Vineet Kahlon, Chao Wang 0001
CAV1
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
FMCAD5
2009 Monotonic Partial Order Reduction: An Optimal Symbolic Partial Order Reduction Technique
Vineet Kahlon, Chao Wang 0001, Aarti Gupta
CAV1
2009 Boundedness vs. Unboundedness of Lock Chains: Characterizing Decidability of Pairwise CFL-Reachability for Threads Communicating via Locks
abstract
The 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
LICS1
2009 Static data race detection for concurrent programs with asynchronous calls
abstract
A 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 FSE1
2009 Semantic Reduction of Thread Interleavings in Concurrent Programs
Vineet Kahlon, Sriram Sankaranarayanan 0001, Aarti Gupta
TACAS1
2008 Parameterization as Abstraction: A Tractable Approach to the Dataflow Analysis of Concurrent Programs
abstract
Dataflow 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
LICS1
2008 Bootstrapping: a technique for scalable flow and context-sensitive pointer alias analysis
abstract
We 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
PLDI1
2008 Peephole Partial Order Reduction
Chao Wang 0001, Zijiang Yang 0006, Vineet Kahlon, Aarti Gupta
TACAS3
2007 Fast and Accurate Static Data-Race Detection for Concurrent Programs
Vineet Kahlon, Yu Yang 0013, Sriram Sankaranarayanan 0001, Aarti Gupta
CAV1
2007 On the analysis of interacting pushdown systems
Vineet Kahlon, Aarti Gupta
POPL1
2006 Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions
Vineet Kahlon, Aarti Gupta, Nishant Sinha 0001
CAV1
2006 An Automata-Theoretic Approach for Model Checking Threads for LTL Propert
abstract
In 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
LICS1
2005 Reasoning About Threads Communicating via Locks
Vineet Kahlon, Franjo Ivancic, Aarti Gupta
CAV1
2005 Model Checking C Programs Using F-SOFT
abstract
With 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
ICCD5
2003 Model Checking Guarded Protocols
abstract
The 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
LICS2
2003 Rapid Parameterized Model Checking of Snoopy Cache Coherence Protocols
E. Allen Emerson, Vineet Kahlon
TACAS2
2002 Model Checking Large-Scale and Parameterized Resource Allocation Systems
E. Allen Emerson, Vineet Kahlon
TACAS2
2000 Reducing Model Checking of the Many to the Few
E. Allen Emerson, Vineet Kahlon
CADE2