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

Shraddha Barke

dblp:228/9106 · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
3since 2021 · last 2024
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 2 first-author · 2 since 2021Artificial intelligence and machine learning · 2 · 2 first-author · 1 since 2021

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
5 papers
Program synthesis and code generation · 78% Empirical software engineering · 13% Compilers and program optimization · 9%
Human-computer interaction and pervasive computing
1 paper
Human-AI interaction · 100%
Artificial intelligence
3 papers
Speech recognition and synthesis · 62% Language models and text generation · 38%

Topics — the 11 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program synthesis and code generation › neural program synthesis
LLM-based program synthesis
0.812024
HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesis · NeurIPS 2024
Human-AI interaction › AI-mediated work
AI-assisted programming
0.712023
Grounded Copilot: How Programmers Interact with Code-Generating Models · Proc. ACM Program. Lang. 2023
Empirical software engineering
developer studies
0.712023
Grounded Copilot: How Programmers Interact with Code-Generating Models · Proc. ACM Program. Lang. 2023
Program synthesis and code generation
interactive program synthesis
0.512021
LooPy: interactive program synthesis with control structures · Proc. ACM Program. Lang. 2021
Program synthesis and code generation
programming by example
0.512021
LooPy: interactive program synthesis with control structures · Proc. ACM Program. Lang. 2021
Program synthesis and code generation › search-based program synthesis
enumerative synthesis
0.412020
Just-in-time learning for bottom-up enumerative synthesis · Proc. ACM Program. Lang. 2020
Compilers and program optimization › program transformation
program transformation synthesis
0.412020
Feedback-driven semi-supervised synthesis of program transformations · Proc. ACM Program. Lang. 2020
Program synthesis and code generation
syntax-guided synthesis
0.412020
Just-in-time learning for bottom-up enumerative synthesis · Proc. ACM Program. Lang. 2020
Natural language and speech › Speech recognition and synthesis
computational phonology
0.412019
Constraint-based Learning of Phonological Processes · EMNLP/IJCNLP (1) 2019
Natural language and speech › Language models and text generation
large language model
0.212024
HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesis · NeurIPS 2024
Program synthesis and code generation
code generation with language models
0.212023
Grounded Copilot: How Programmers Interact with Code-Generating Models · Proc. ACM Program. Lang. 2023

Methods — techniques the papers use, named apart from their topics

large language model · 1.5context-free surrogate model · 1.5combinatorial search · 1.5grounded theory · 1.3probabilistic model · 0.9guided bottom-up search · 0.9live execution · 0.5intermediate state graph · 0.5programming by example · 0.4anti-unification · 0.4constraint-based learning · 0.4
YearPublicationVenuePosition
2024 HYSYNTH: Context-Free LLM Approximation for Guiding Program Synthesis
abstract
Many structured prediction and reasoning tasks can be framed as program synthesis problems, where the goal is to generate a program in a \emph{domain-specific language} (DSL) that transforms input data into the desired output. Unfortunately, purely neural approaches, such as large language models (LLMs), often fail to produce fully correct programs in unfamiliar DSLs, while purely symbolic methods based on combinatorial search scale poorly to complex problems. Motivated by these limitations, we introduce a hybrid approach, where LLM completions for a given task are used to learn a task-specific, context-free surrogate model, which is then used to guide program synthesis. We evaluate this hybrid approach on three domains, and show that it outperforms both unguided search and direct sampling from LLMs, as well as existing program synthesizers.
Shraddha Barke, Emmanuel Anaya Gonzalez, Saketh Ram Kasibatla, Taylor Berg-Kirkpatrick, Nadia Polikarpova
NeurIPS1
2023 Grounded Copilot: How Programmers Interact with Code-Generating Models
abstract
Powered by recent advances in code-generating models, AI assistants like Github Copilot promise to change the face of programming forever. But what is this new face of programming? We present the first grounded theory analysis of how programmers interact with Copilot, based on observing 20 participants—with a range of prior experience using the assistant—as they solve diverse programming tasks across four languages. Our main finding is that interactions with programming assistants are bimodal : in acceleration mode , the programmer knows what to do next and uses Copilot to get there faster; in exploration mode , the programmer is unsure how to proceed and uses Copilot to explore their options. Based on our theory, we provide recommendations for improving the usability of future AI programming assistants.
Shraddha Barke, Michael James 0003, Nadia Polikarpova
Proc. ACM Program. Lang.1
2021 LooPy: interactive program synthesis with control structures
abstract
One vision for program synthesis, and specifically for programming by example (PBE), is an interactive programmer's assistant, integrated into the development environment. To make program synthesis practical for interactive use, prior work on Small-Step Live PBE has proposed to limit the scope of synthesis to small code snippets, and enable the users to provide local specifications for those snippets. This paradigm, however, does not work well in the presence of loops. We present LooPy, a synthesizer integrated into a live programming environment, which extends Small-Step Live PBE to work inside loops and scales it up to synthesize larger code snippets, while remaining fast enough for interactive use. To allow users to effectively provide examples at various loop iterations, even when the loop body is incomplete, LooPy makes use of live execution , a technique that leverages the programmer as an oracle to step over incomplete parts of the loop. To enable synthesis of loop bodies at interactive speeds, LooPy introduces Intermediate State Graph , a new data structure, which compactly represents a large space of code snippets composed of multiple assignment statements and conditionals. We evaluate LooPy empirically using benchmarks from competitive programming and previous synthesizers, and show that it can solve a wide variety of synthesis tasks at interactive speeds. We also perform a small qualitative user study which shows that LooPy's block-level specifications are easy for programmers to provide.
Kasra Ferdowsifard, Shraddha Barke, Hila Peleg, Sorin Lerner, Nadia Polikarpova
Proc. ACM Program. Lang.2
2020 Just-in-time learning for bottom-up enumerative synthesis
abstract
A key challenge in program synthesis is the astronomical size of the search space the synthesizer has to explore. In response to this challenge, recent work proposed to guide synthesis using learned probabilistic models. Obtaining such a model, however, might be infeasible for a problem domain where no high-quality training data is available. In this work we introduce an alternative approach to guided program synthesis: instead of training a model ahead of time we show how to bootstrap one just in time, during synthesis, by learning from partial solutions encountered along the way. To make the best use of the model, we also propose a new program enumeration algorithm we dub guided bottom-up search, which extends the efficient bottom-up search with guidance from probabilistic models. We implement this approach in a tool called Probe, which targets problems in the popular syntax-guided synthesis (SyGuS) format. We evaluate Probe on benchmarks from the literature and show that it achieves significant performance gains both over unguided bottom-up search and over a state-of-the-art probability-guided synthesizer, which had been trained on a corpus of existing solutions. Moreover, we show that these performance gains do not come at the cost of solution quality: programs generated by Probe are only slightly more verbose than the shortest solutions and perform no unnecessary case-splitting.
Shraddha Barke, Hila Peleg, Nadia Polikarpova
Proc. ACM Program. Lang.1
2020 Feedback-driven semi-supervised synthesis of program transformations
abstract
While editing code, it is common for developers to make multiple related repeated edits that are all instances of a more general program transformation. Since this process can be tedious and error-prone, we study the problem of automatically learning program transformations from past edits, which can then be used to predict future edits. We take a novel view of the problem as a semi-supervised learning problem: apart from the concrete edits that are instances of the general transformation, the learning procedure also exploits access to additional inputs (program subtrees) that are marked as positive or negative depending on whether the transformation applies on those inputs. We present a procedure to solve the semi-supervised transformation learning problem using anti-unification and programming-by-example synthesis technology. To eliminate reliance on access to marked additional inputs, we generalize the semi-supervised learning procedure to a feedback-driven procedure that also generates the marked additional inputs in an iterative loop. We apply these ideas to build and evaluate three applications that use different mechanisms for generating feedback. Compared to existing tools that learn program transformations from edits, our feedback-driven semi-supervised approach is vastly more effective in successfully predicting edits with significantly lesser amounts of past edit data.
Xiang Gao 0012, Shraddha Barke, Arjun Radhakrishna, Gustavo Soares, Sumit Gulwani, Alan Leung, Nachiappan Nagappan, Ashish Tiwari 0001
Proc. ACM Program. Lang.2
2019 Constraint-based Learning of Phonological Processes
abstract
Shraddha Barke, Rose Kunkel, Nadia Polikarpova, Eric Meinhardt, Eric Bakovic, Leon Bergen. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 2019.
Shraddha Barke, Rose Kunkel, Nadia Polikarpova, Eric Meinhardt, Eric Bakovic, Leon Bergen
EMNLP/IJCNLP (1)1