Demo Data from VLDB 2026 / reviewers in the wild / expert
Xiang Li 0140
dblp:40/1491-140
· DBLP profile ↗
2ranked-venue papers
1as first author
2since 2021 · last 2024
0009-0005-6860-039XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-author · 2 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
2 papers |
Program synthesis and code generation · 60% Programming languages and type systems · 20% Software testing · 20% |
Topics — the 3 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation › search-based program synthesis
bottom-up synthesis |
0.8 | 1 | 2024 | Efficient Bottom-Up Synthesis for Programs with Local Variables · Proc. ACM Program. Lang. 2024 |
Program synthesis and code generation › code completion
LLM-based code completion |
0.8 | 1 | 2024 | Statically Contextualizing Large Language Models with Typed Holes · Proc. ACM Program. Lang. 2024 |
Software testing
unit testing |
0.8 | 1 | 2024 | Statically Contextualizing Large Language Models with Typed Holes · Proc. ACM Program. Lang. 2024 |
Methods — techniques the papers use, named apart from their topics
observational equivalence reduction · 0.8lifted interpretation · 0.8large language model · 0.8language server protocol · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Statically Contextualizing Large Language Models with Typed HolesabstractLarge language models (LLMs) have reshaped the landscape of program synthesis. However, contemporary LLM-based code completion systems often hallucinate broken code because they lack appropriate code context, particularly when working with definitions that are neither in the training data nor near the cursor. This paper demonstrates that tighter integration with the type and binding structure of the programming language in use, as exposed by its language server, can help address this contextualization problem in a token-efficient manner. In short, we contend that AIs need IDEs, too! In particular, we integrate LLM code generation into the Hazel live program sketching environment. The Hazel Language Server is able to identify the type and typing context of the hole that the programmer is filling, with Hazel’s total syntax and type error correction ensuring that a meaningful program sketch is available whenever the developer requests a completion. This allows the system to prompt the LLM with codebase-wide contextual information that is not lexically local to the cursor, nor necessarily in the same file, but that is likely to be semantically local to the developer’s goal. Completions synthesized by the LLM are then iteratively refined via further dialog with the language server, which provides error localization and error messages. To evaluate these techniques, we introduce MVUBench, a dataset of model-view-update (MVU) web applications with accompanying unit tests that have been written from scratch to avoid data contamination, and that can easily be ported to new languages because they do not have large external library dependencies. These applications serve as challenge problems due to their extensive reliance on application-specific data structures. Through an ablation study, we examine the impact of contextualization with type definitions, function headers, and errors messages, individually and in combination. We find that contextualization with type definitions is particularly impactful. After introducing our ideas in the context of Hazel, a low-resource language, we duplicate our techniques and port MVUBench to TypeScript in order to validate the applicability of these methods to higher-resource mainstream languages. Finally, we outline ChatLSP, a conservative extension to the Language Server Protocol (LSP) that language servers can implement to expose capabilities that AI code completion systems of various designs can use to incorporate static context when generating prompts for an LLM. Andrew Blinn, Xiang Li 0140, June Hyung Kim, Cyrus Omar |
Proc. ACM Program. Lang. | 2 |
| 2024 | Efficient Bottom-Up Synthesis for Programs with Local VariablesabstractWe propose a new synthesis algorithm that can efficiently search programs with local variables (e.g., those introduced by lambdas). Prior bottom-up synthesis algorithms are not able to evaluate programs with free local variables , and therefore cannot effectively reduce the search space of such programs (e.g., using standard observational equivalence reduction techniques), making synthesis slow. Our algorithm can reduce the space of programs with local variables. The key idea, dubbed lifted interpretation , is to lift up the program interpretation process, from evaluating one program at a time to simultaneously evaluating all programs from a grammar. Lifted interpretation provides a mechanism to systematically enumerate all binding contexts for local variables, thereby enabling us to evaluate and reduce the space of programs with local variables. Our ideas are instantiated in the domain of web automation. The resulting tool, Arborist , can automate a significantly broader range of challenging tasks more efficiently than state-of-the-art techniques including WebRobot and Helena. Xiang Li 0140, Rui Dong 0006, Yihong Zhang 0004, Xinyu Wang 0006 |
Proc. ACM Program. Lang. | 1 |