EDBT 2026 Demo / reviewers in the wild / expert
Abhishek Udupa
dblp:26/7125
· DBLP profile ↗
8ranked-venue papers
4as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 4 first-authorTheory of computation · 2Systems, architecture and hardware · 1 · 1 first-author
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
3 papers |
Program synthesis and code generation · 46% Software maintenance and evolution · 32% Compilers and program optimization · 21% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Distributed systems · 75% Parallel and multicore computing · 25% | |
| Theoretical computer science
2 papers |
Automated reasoning and model checking · 100% | |
| Human-computer interaction and pervasive computing
1 paper |
User interface design and tools · 100% |
Topics — the 8 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation
programming by example |
0.4 | 1 | 2019 | On the fly synthesis of edit suggestions · Proc. ACM Program. Lang. 2019 |
Software maintenance and evolution
refactoring |
0.4 | 1 | 2019 | On the fly synthesis of edit suggestions · Proc. ACM Program. Lang. 2019 |
Distributed systems › distributed system verification
distributed protocol verification |
0.2 | 1 | 2015 | Automatic Completion of Distributed Protocols with Symmetry · CAV (2) 2015 |
Automated reasoning and model checking
parameterized verification |
0.2 | 1 | 2015 | Automatic Completion of Distributed Protocols with Symmetry · CAV (2) 2015 |
Program synthesis and code generation › concurrent program synthesis
protocol synthesis |
0.2 | 1 | 2013 | TRANSIT: specifying protocols with concolic snippets · PLDI 2013 |
Compilers and program optimization
dependence analysis |
0.1 | 1 | 2011 | ALTER: exploiting breakable dependences for parallelization · PLDI 2011 |
Compilers and program optimization
parallelization |
0.1 | 1 | 2011 | ALTER: exploiting breakable dependences for parallelization · PLDI 2011 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.1 | 1 | 2011 | ALTER: exploiting breakable dependences for parallelization · PLDI 2011 |
Methods — techniques the papers use, named apart from their topics
model checking · 0.9programming by example · 0.8extended finite state machine · 0.5constraint solving · 0.5concolic execution · 0.5symmetry reduction · 0.4dependence analysis · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | On the fly synthesis of edit suggestionsabstractWhen working with a document, users often perform context-specific repetitive edits – changes to the document that are similar but specific to the contexts at their locations. Programming by demonstration/examples (PBD/PBE) systems automate these tasks by learning programs to perform the repetitive edits from demonstration or examples. However, PBD/PBE systems are not widely adopted, mainly because they require modal UIs – users must enter a special mode to give the demonstration/examples. This paper presents Blue-Pencil, a modeless system for synthesizing edit suggestions on the fly. Blue-Pencil observes users as they make changes to the document, silently identifies repetitive changes, and automatically suggests transformations that can apply at other locations. Blue-Pencil is parameterized – it allows the ”plug-and-play” of different PBE engines to support different document types and different kinds of transformations. We demonstrate this parameterization by instantiating Blue-Pencil to several domains – C# and SQL code, markdown documents, and spreadsheets – using various existing PBE engines. Our evaluation on 37 code editing sessions shows that Blue-Pencil synthesized edit suggestions with a precision of 0.89 and a recall of 1.0, and took 199 ms to return suggestions on average. Finally, we report on several improvements based on feedback gleaned from a field study with professional programmers to investigate the use of Blue-Pencil during long code editing sessions. Blue-Pencil has been integrated with Visual Studio IntelliCode to power the IntelliCode refactorings feature. Anders Miltner, Sumit Gulwani, Vu Le 0002, Alan Leung, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari 0001, Abhishek Udupa |
Proc. ACM Program. Lang. | 8 |
| 2017 | Scaling Enumerative Program Synthesis via Divide and Conquer
Rajeev Alur, Arjun Radhakrishna, Abhishek Udupa |
TACAS (1) | 3 |
| 2015 | Automatic Completion of Distributed Protocols with Symmetry
Rajeev Alur, Mukund Raghothaman, Christos Stergiou 0001, Stavros Tripakis, Abhishek Udupa |
CAV (2) | 5 |
| 2013 | Syntax-guided synthesis
Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. Martin, Mukund Raghothaman, Sanjit A. Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, Abhishek Udupa |
FMCAD | 10 |
| 2013 | TRANSIT: specifying protocols with concolic snippetsabstractWith 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. Abhishek Udupa, Arun Raghavan, Jyotirmoy V. Deshmukh, Sela Mador-Haim, Milo M. K. Martin, Rajeev Alur |
PLDI | 1 |
| 2011 | ALTER: exploiting breakable dependences for parallelizationabstractFor 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. Abhishek Udupa, Kaushik Rajan, William Thies |
PLDI | 1 |
| 2009 | Software Pipelined Execution of Stream Programs on GPUsabstractThe StreamIt programming model has been proposed to exploit parallelism in streaming applications on general purpose multi-core architectures. This model allows programmers to specify the structure of a program as a set of filters that act upon data, and a set of communication channels between them. The StreamIt graphs describe task, data and pipeline parallelism which can be exploited on modern graphics processing units (GPUs), as they support abundant parallelism in hardware. In this paper, we describe the challenges in mapping StreamIt to GPUs and propose an efficient technique to software pipeline the execution of stream programs on GPUs. We formulate this problem - both scheduling and assignment of filters to processors - as an efficient integer linear program (ILP), which is then solved using ILP solvers. We also describe a novel buffer layout technique for GPUs which facilitates exploiting the high memory bandwidth available in GPUs. The proposed scheduling utilizes both the scalar units in GPU, to exploit data parallelism, and multiprocessors, to exploit task and pipeline parallelism. Further it takes into consideration the synchronization and bandwidth limitations of GPUs, and yields speedups between 1.87X and 36.83X over a single threaded CPU. Abhishek Udupa, R. Govindarajan, Matthew J. Thazhuthaveetil |
CGO | 1 |
| 2009 | Synergistic execution of stream programs on multicores with acceleratorsabstractThe StreamIt programming model has been proposed to exploit parallelism in streaming applications on general purpose multicore architectures. The StreamIt graphs describe task, data and pipeline parallelism which can be exploited on accelerators such as Graphics Processing Units (GPUs) or CellBE which support abundant parallelism in hardware. Abhishek Udupa, R. Govindarajan, Matthew J. Thazhuthaveetil |
LCTES | 1 |