Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Abhishek Udupa is active.

Publication


Featured researches published by Abhishek Udupa.


programming language design and implementation | 2013

TRANSIT: specifying protocols with concolic snippets

Abhishek Udupa; Arun Raghavan; Jyotirmoy V. Deshmukh; Sela Mador-Haim; Milo M. K. Martin; Rajeev Alur

With the maturing of technology for model checking and constraint solving, there is an emerging opportunity to develop programming tools that can transform the way systems are specified. In this paper, we propose a new way to program distributed protocols using concolic snippets. Concolic snippets are sample execution fragments that contain both concrete and symbolic values. The proposed approach allows the programmer to describe the desired system partially using the traditional model of communicating extended finite-state-machines (EFSM), along with high-level invariants and concrete execution fragments. Our synthesis engine completes an EFSM skeleton by inferring guards and updates from the given fragments which is then automatically analyzed using a model checker with respect to the desired invariants. The counterexamples produced by the model checker can then be used by the programmer to add new concrete execution fragments that describe the correct behavior in the specific scenario corresponding to the counterexample. We describe TRANSIT, a language and prototype implementation of the proposed specification methodology for distributed protocols. Experimental evaluations of TRANSIT to specify cache coherence protocols show that (1) the algorithm for expression inference from concolic snippets can synthesize expressions of size 15 involving typical operators over commonly occurring types, (2) for a classical directory-based protocol, TRANSIT automatically generates, in a few seconds, a complete implementation from a specification consisting of the EFSM structure and a few concrete examples for every transition, and (3) a published partial description of the SGI Origin cache coherence protocol maps directly to symbolic examples and leads to a complete implementation in a few iterations, with the programmer correcting counterexamples resulting from underspecified transitions by adding concrete examples in each iteration.


programming language design and implementation | 2011

ALTER: exploiting breakable dependences for parallelization

Abhishek Udupa; Kaushik Rajan; William Thies

For decades, compilers have relied on dependence analysis to determine the legality of their transformations. While this conservative approach has enabled many robust optimizations, when it comes to parallelization there are many opportunities that can only be exploited by changing or re-ordering the dependences in the program. This paper presents Alter: a system for identifying and enforcing parallelism that violates certain dependences while preserving overall program functionality. Based on programmer annotations, Alter exploits new parallelism in loops by reordering iterations or allowing stale reads. Alter can also infer which annotations are likely to benefit the program by using a test-driven framework. Our evaluation of Alter demonstrates that it uncovers parallelism that is beyond the reach of existing static and dynamic tools. Across a selection of 12 performance-intensive loops, 9 of which have loop-carried dependences, Alter obtains an average speedup of 2.0x on 4 cores.


tools and algorithms for construction and analysis of systems | 2017

Scaling Enumerative Program Synthesis via Divide and Conquer

Rajeev Alur; Arjun Radhakrishna; Abhishek Udupa

Given a semantic constraint specified by a logical formula, and a syntactic constraint specified by a context-free grammar, the Syntax-Guided Synthesis (SyGuS) problem is to find an expression that satisfies both the syntactic and semantic constraints. An enumerative approach to solve this problem is to systematically generate all expressions from the syntactic space with some pruning, and has proved to be surprisingly competitive in the newly started competition of SyGuS solvers. It performs well on small to medium sized benchmarks, produces succinct expressions, and has the ability to generalize from input-output examples. However, its performance degrades drastically with the size of the smallest solution. To overcome this limitation, in this paper we propose an alternative approach to solve SyGuS instances.


haifa verification conference | 2014

Synthesizing Finite-state Protocols from Scenarios and Requirements

Rajeev Alur; Milo M. K. Martin; Mukund Raghothaman; Christos Stergiou; Stavros Tripakis; Abhishek Udupa

Scenarios, or Message Sequence Charts, offer an intuitive way of describing the desired behaviors of a distributed protocol. In this paper we propose a new way of specifying and synthesizing finite-state protocols using scenarios: we show that it is possible to automatically derive a distributed implementation from a set of scenarios augmented with a set of safety and liveness requirements, provided the given scenarios adequately cover all the states of the desired implementation. We first derive incomplete state machines from the given scenarios, and then synthesis corresponds to completing the transition relation of individual processes so that the global product meets the specified requirements. This completion problem, in general, has the same complexity, PSPACE, as the verification problem, but unlike the verification problem, is still hard (NP-complete) even for a constant number of processes. We present an algorithm for solving the completion problem, based on counterexampleguided inductive synthesis. We evaluate the proposed methodology for protocol specification and the effectiveness of the synthesis algorithm using the classical alternating-bit protocol, the VI cache-coherence protocol, and a consensus protocol.


international spin conference on model checking software | 2011

Depth bounded explicit-state model checking

Abhishek Udupa; Ankush Desai; Sriram K. Rajamani

We present algorithms to efficiently bound the depth of the state spaces explored by explicit-state model checkers. Given a parameter k, our algorithms guarantee finding any violation of an invariant that is witnessed using a counterexample of length k or less from the initial state. Though depth bounding is natural with breadth-first search, explicit-state model checkers are unable to use breadth first search due to prohibitive space requirements, and use depth-first search to explore large state spaces. Thus, we explore efficient ways to perform depth bounding with depth-first search. We prove our algorithms sound (in the sense that they explore exactly all the states reachable within a depth bound), and show their effectiveness on large real-life models from Microsofts product groups.


computer aided verification | 2015

Automatic Completion of Distributed Protocols with Symmetry

Rajeev Alur; Mukund Raghothaman; Christos Stergiou; Stavros Tripakis; Abhishek Udupa

A distributed protocol is typically modeled as a set of communicating processes, where each process is described as an extended state machine along with fairness assumptions. Correctness is specified using safety and liveness requirements. Designing correct distributed protocols is a challenging task. Aimed at simplifying this task, we allow the designer to leave some of the guards and updates to state variables in the description of the protocol as unknown functions. The protocol completion problem then is to find interpretations for these unknown functions while guaranteeing correctness. In many distributed protocols, process behaviors are naturally symmetric, and thus, synthesized expressions are further required to obey symmetry constraints. Our counterexample-guided synthesis algorithm consists of repeatedly invoking two phases. In the first phase, candidates for unknown expressions are generated using the SMT solver Z3. This phase requires carefully orchestrating constraints to enforce the desired symmetry constraints. In the second phase, the resulting completed protocol is checked for correctness using a custom-built model checker that handles fairness assumptions, safety and liveness requirements, and exploits symmetry. When model checking fails, our tool examines a set of counterexamples to safety/liveness properties to generate constraints on unknown functions that must be satisfied by subsequent completions. For evaluation, we show that our prototype is able to automatically discover interesting missing details in distributed protocols for mutual exclusion, self stabilization, and cache coherence. Open image in new window


arXiv: Programming Languages | 2014

Language to Specify Syntax-Guided Synthesis Problems.

Mukund Raghothaman; Abhishek Udupa


Dependable Software Systems Engineering | 2015

Syntax-Guided Synthesis.

Rajeev Alur; Rastislav Bodik; Eric Dallal; Dana Fisman; Pranav Garg; Garvit Juniwal; Hadas Kress-Gazit; P. Madhusudan; Milo M. K. Martin; Mukund Raghothaman; Shambwaditya Saha; Sanjit A. Seshia; Rishabh Singh; Armando Solar-Lezama; Emina Torlak; Abhishek Udupa


Archive | 2016

Alter: Leveraging Breakable Dependences for Parallelization

Abhishek Udupa; Kaushik Rajan; Bill Thies


Other univ. web domain | 2013

Syntax-guided synthesis

Rajeev Alur; Rastislav Bodik; Garvit Juniwal; Milo M. K. Martin; Mukund Raghothaman; Sanjit A. Seshia; Rishabh Singh; Emina Torlak; Abhishek Udupa; Armando Solar-Lezama

Collaboration


Dive into the Abhishek Udupa's collaboration.

Top Co-Authors

Avatar

Rajeev Alur

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar

Milo M. K. Martin

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Armando Solar-Lezama

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Arun Raghavan

University of Pennsylvania

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Emina Torlak

University of Washington

View shared research outputs
Top Co-Authors

Avatar

Garvit Juniwal

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge