Demo Data from EDBT 2026 / reviewers in the wild / expert
Kuat Yessenov
dblp:66/6609
· DBLP profile ↗
8ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 3 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-authorTheory of computation · 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
5 papers |
Program synthesis and code generation · 56% Programming languages and type systems · 34% Program analysis · 8% | |
| Theoretical computer science
2 papers |
Algorithms and data structures · 55% Automated reasoning and model checking · 46% | |
| Human-computer interaction and pervasive computing
1 paper |
User interface design and tools · 100% | |
| Network and information security
1 paper |
Privacy and data protection · 100% |
Topics — the 14 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation
constraint-based synthesis |
0.2 | 1 | 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations · OOPSLA 2016 |
Program synthesis and code generation
deductive program synthesis |
0.2 | 1 | 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations · OOPSLA 2016 |
Program synthesis and code generation
inductive program synthesis |
0.2 | 1 | 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations · OOPSLA 2016 |
User interface design and tools › end-user programming
programming by demonstration |
0.2 | 1 | 2013 | A colorful approach to text processing by example · UIST 2013 |
Privacy and data protection › privacy policy
privacy policy enforcement |
0.1 | 1 | 2012 | A language for automatically enforcing privacy policies · POPL 2012 |
Programming languages and type systems › type systems › security type systems
information-flow type systems |
0.1 | 1 | 2012 | A language for automatically enforcing privacy policies · POPL 2012 |
Programming languages and type systems
language design |
0.1 | 1 | 2012 | A language for automatically enforcing privacy policies · POPL 2012 |
Programming languages and type systems
type systems |
0.1 | 1 | 2012 | A language for automatically enforcing privacy policies · POPL 2012 |
Programming languages and type systems › language design
declarative and imperative language integration |
0.1 | 1 | 2011 | Unifying execution of imperative and declarative code · ICSE 2011 |
Program analysis › dynamic analysis
program tracing |
0.1 | 1 | 2011 | Data-driven synthesis for object-oriented frameworks · OOPSLA 2011 |
Algorithms and data structures › recursive algorithms
divide-and-conquer |
0.1 | 1 | 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations · OOPSLA 2016 |
Algorithms and data structures
dynamic programming |
0.1 | 1 | 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations · OOPSLA 2016 |
Program synthesis and code generation
programming by example |
0.0 | 1 | 2013 | A colorful approach to text processing by example · UIST 2013 |
Requirements engineering and software design › software architecture › reusable architecture
object-oriented frameworks |
0.0 | 1 | 2011 | Data-driven synthesis for object-oriented frameworks · OOPSLA 2011 |
Methods — techniques the papers use, named apart from their topics
constraint solving · 0.8refinement types · 0.5deductive reasoning · 0.5symbolic variables · 0.3SMT solving · 0.3first-order relational logic · 0.2abstraction-based indexing · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | DemoMatch: API discovery from demonstrationsabstractWe introduce DemoMatch, a tool for API discovery that allows the user to discover how to implement functionality using a software framework by demonstrating the functionality in existing applications built with the same framework. DemoMatch matches the demonstrations against a database of execution traces called Semeru and generates code snippets explaining how to use the functionality. We evaluated DemoMatch on several case studies involving Java Swing and Eclipse RCP. Kuat Yessenov, Ivan Kuraj, Armando Solar-Lezama |
PLDI | 1 |
| 2016 | Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformationsabstractWe introduce a framework allowing domain experts to manipulate computational terms in the interest of deriving better, more efficient implementations.It employs deductive reasoning to generate provably correct efficient implementations from a very high-level specification of an algorithm, and inductive constraint-based synthesis to improve automation. Semantic information is encoded into program terms through the use of refinement types. Shachar Itzhaky, Rohit Singh 0002, Armando Solar-Lezama, Kuat Yessenov, Yongquan Lu, Charles E. Leiserson, Rezaul Alam Chowdhury |
OOPSLA | 4 |
| 2013 | A colorful approach to text processing by exampleabstractText processing, tedious and error-prone even for programmers, remains one of the most alluring targets of Programming by Example. An examination of real-world text processing tasks found on help forums reveals that many such tasks, beyond simple string manipulation, involve latent hierarchical structures. Kuat Yessenov, Shubham Tulsiani, Aditya Krishna Menon, Rob Miller 0001, Sumit Gulwani, Butler W. Lampson, Adam Tauman Kalai |
UIST | 1 |
| 2012 | A language for automatically enforcing privacy policiesabstractIt is becoming increasingly important for applications to protect sensitive data. With current techniques, the programmer bears the burden of ensuring that the application's behavior adheres to policies about where sensitive values may flow. Unfortunately, privacy policies are difficult to manage because their global nature requires coordinated reasoning and enforcement. To address this problem, we describe a programming model that makes the system responsible for ensuring adherence to privacy policies. The programming model has two components: 1) core programs describing functionality independent of privacy concerns and 2) declarative, decentralized policies controlling how sensitive values are disclosed. Each sensitive value encapsulates multiple views; policies describe which views are allowed based on the output context. The system is responsible for automatically ensuring that outputs are consistent with the policies. We have implemented this programming model in a new functional constraint language named Jeeves. In Jeeves, sensitive values are introduced as symbolic variables and policies correspond to constraints that are resolved at output channels. We have implemented Jeeves as a Scala library using an SMT solver as a model finder. In this paper we describe the dynamic and static semantics of Jeeves and the properties about policy enforcement that the semantics guarantees. We also describe our experience implementing a conference management system and a social network. Jean Yang 0001, Kuat Yessenov, Armando Solar-Lezama |
POPL | 2 |
| 2012 | Stepwise refinement of heap-manipulating code in ChaliceabstractAbstract Stepwise refinement is a well-studied technique for developing a program from an abstract description to a concrete implementation. This paper describes a system with automated tool support for refinement, powered by a state-of-the-art verification engine that uses an SMT solver. Unlike previous refinement systems, users of the presented system interact only via declarations in the programming language. Another aspect of the system is that it accounts for dynamically allocated objects in the heap, so that data representations in an abstract program can be refined into ones that use more objects. Finally, the system uses a language with familiar imperative features, including sequential composition, loops, and recursive calls, offers a syntax with skeletons for describing program changes between refinements, and provides a mechanism for supplying witnesses when refining non-deterministic programs. K. Rustan M. Leino, Kuat Yessenov |
Formal Aspects Comput. | 2 |
| 2011 | Unifying execution of imperative and declarative codeabstractWe present a unified environment for running declarative specifications in the context of an imperative object-Oriented programming language. Specifications are Alloy-like, written in first-order relational logic with transitive closure, and the imperative language is Java. By being able to mix imperative code with executable declarative specifications, the user can easily express constraint problems in place, i.e., in terms of the existing data structures and objects on the heap. After a solution is found, the heap is updated to reflect the solution, so the user can continue to manipulate the program heap in the usual imperative way. We show that this approach is not only convenient, but, for certain problems can also outperform a standard imperative implementation. We also present an optimization technique that allowed us to run our tool on heaps with almost 2000 objects. Aleksandar Milicevic, Derek Rayside, Kuat Yessenov, Daniel Jackson 0001 |
ICSE | 3 |
| 2011 | Data-driven synthesis for object-oriented frameworksabstractSoftware construction today often involves the use of large frameworks. The challenge in this type of programming is that object-oriented frameworks tend to grow exceedingly intricate; they spread functionality among numerous classes, and any use of the framework requires knowledge of many interacting components. We present a system named MATCHMAKER that from a simple query synthesizes code that interacts with the framework. The query consists of names of two framework classes, and our system produces code enabling interaction between them. MATCHMAKER relies on a database of dynamic program traces called DELIGHT that uses novel abstraction-based indexing techniques to answer queries about the evolution of heap connectivity in a matter of seconds. Kuat Yessenov, Zhilei Xu, Armando Solar-Lezama |
OOPSLA | 1 |
| 2010 | Collections, Cardinalities, and Relations
Kuat Yessenov, Ruzica Piskac, Viktor Kuncak |
VMCAI | 1 |