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

John K. Feser

dblp:163/3156 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
2since 2021 · last 2025
0000-0001-8577-1784ORCID · reported

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

Software engineering, systems software and programming languages · 4 · 3 first-author · 2 since 2021Databases, data management, data science and information retrieval · 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.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%
Software engineering, system software, and programming languages
3 papers
Program synthesis and code generation · 100%
Databases, data mining, and information retrieval
2 papers
Database system architecture and tuning · 34% Indexing and storage engines · 26% Query processing and optimization · 22%

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

TopicWeightPapersLastEvidence papers
Program synthesis and code generation
programming by example
0.922023
Inductive Program Synthesis Guided by Observational Program Similarity · Proc. ACM Program. Lang. 2023
Synthesizing data structure transformations from input-output examples · PLDI 2015
Distributed systems › replication
partial replication
0.912025
Peepco: Batch-Based Consistency Optimization · Proc. ACM Program. Lang. 2025
Distributed systems
replication
0.912025
Peepco: Batch-Based Consistency Optimization · Proc. ACM Program. Lang. 2025
Program synthesis and code generation
version space algebra
0.712023
Inductive Program Synthesis Guided by Observational Program Similarity · Proc. ACM Program. Lang. 2023
Program synthesis and code generation
deductive program synthesis
0.722020
Deductive optimization of relational data storage · Proc. ACM Program. Lang. 2020
Synthesizing data structure transformations from input-output examples · PLDI 2015
Indexing and storage engines › storage management
data layout optimization
0.412020
Deductive optimization of relational data storage · Proc. ACM Program. Lang. 2020
Database system architecture and tuning › database design
physical database design
0.412020
Deductive optimization of relational data storage · Proc. ACM Program. Lang. 2020
Data integration and cleaning › missing data
missing value imputation
0.312017
Query Optimization for Dynamic Imputation · Proc. VLDB Endow. 2017
Query processing and optimization
query optimization
0.312017
Query Optimization for Dynamic Imputation · Proc. VLDB Endow. 2017
Database system architecture and tuning
main-memory database
0.112020
Deductive optimization of relational data storage · Proc. ACM Program. Lang. 2020
Query processing and optimization › query optimization
cost-based optimization
0.112017
Query Optimization for Dynamic Imputation · Proc. VLDB Endow. 2017

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

static inference · 0.9distributed protocol design · 0.9optimizing compiler · 0.9deductive synthesis · 0.9version space · 0.7metric program synthesis · 0.7clustering · 0.7on-the-fly imputation · 0.3enumerative search · 0.2best-first search · 0.2
YearPublicationVenuePosition
2025 Peepco: Batch-Based Consistency Optimization
abstract
We present batch-based consistency, a new approach for consistency optimization that allows programmers to specialize consistency with application-level integrity properties. We implement the approach with a two-step process: we statically infer optimal consistency requirements for executions of bounded sets of operations, and then, use the inferred requirements to parameterize a new distributed protocol to relax operation reordering at run time when it is safe to do so. Our approach supports standard notions of consistency. We implement batch-based consistency in Peepco , demonstrate its expressiveness for partial data replication, and examine Peepco’s run-time performance impact in different settings.
Ivan Kuraj, John K. Feser, Nadia Polikarpova, Armando Solar-Lezama
Proc. ACM Program. Lang.2
2023 Inductive Program Synthesis Guided by Observational Program Similarity
abstract
We present a new general-purpose synthesis technique for generating programs from input-output examples. Our method, called metric program synthesis, relaxes the observational equivalence idea (used widely in bottom-up enumerative synthesis) into a weaker notion of observational similarity, with the goal of reducing the search space that the synthesizer needs to explore. Our method clusters programs into equivalence classes based on an expert-provided distance metric and constructs a version space that compactly represents “approximately correct” programs. Then, given a “close enough” program sampled from this version space, our approach uses a distance-guided repair algorithm to find a program that exactly matches the given input-output examples. We have implemented our proposed metric program synthesis technique in a tool called SyMetric and evaluate it in three different domains considered in prior work. Our evaluation shows that SyMetric outperforms other domain-agnostic synthesizers that use observational equivalence and that it achieves results competitive with domain-specific synthesizers that are either designed for or trained on those domains.
John K. Feser, Isil Dillig, Armando Solar-Lezama
Proc. ACM Program. Lang.1
2020 Deductive optimization of relational data storage
abstract
Optimizing the physical data storage and retrieval of data are two key database management problems. In this paper, we propose a language that can express both a relational query and the layout of its data. Our language can express a wide range of physical database layouts, going well beyond the row- and column-based methods that are widely used in database management systems. We use deductive program synthesis to turn a high-level relational representation of a database query into a highly optimized low-level implementation which operates on a specialized layout of the dataset. We build an optimizing compiler for this language and conduct experiments using a popular database benchmark, which shows that the performance of our specialized queries is better than a state-of-the-art in memory compiled database system while achieving an order-of-magnitude reduction in memory use.
John K. Feser, Samuel Madden 0001, Nan Tang 0001, Armando Solar-Lezama
Proc. ACM Program. Lang.1
2017 Query Optimization for Dynamic Imputation
abstract
Missing values are common in data analysis and present a usability challenge. Users are forced to pick between removing tuples with missing values or creating a cleaned version of their data by applying a relatively expensive imputation strategy. Our system, ImputeDB, incorporates imputation into a cost-based query optimizer, performing necessary imputations on-the-fly for each query. This allows users to immediately explore their data, while the system picks the optimal placement of imputation operations. We evaluate this approach on three real-world survey-based datasets. Our experiments show that our query plans execute between 10 and 140 times faster than first imputing the base tables. Furthermore, we show that the query results from on-the-fly imputation differ from the traditional base-table imputation approach by 0--8%. Finally, we show that while dropping tuples with missing values that fail query constraints discards 6--78% of the data, on-the-fly imputation loses only 0--21%.
José Cambronero, John K. Feser, Micah J. Smith, Samuel Madden 0001
Proc. VLDB Endow.2
2015 Synthesizing data structure transformations from input-output examples
abstract
We present a method for example-guided synthesis of functional programs over recursive data structures. Given a set of input-output examples, our method synthesizes a program in a functional language with higher-order combinators like map and fold. The synthesized program is guaranteed to be the simplest program in the language to fit the examples. Our approach combines three technical ideas: inductive generalization, deduction, and enumerative search. First, we generalize the input-output examples into hypotheses about the structure of the target program. For each hypothesis, we use deduction to infer new input/output examples for the missing subexpressions. This leads to a new subproblem where the goal is to synthesize expressions within each hypothesis. Since not every hypothesis can be realized into a program that fits the examples, we use a combination of best-first enumeration and deduction to search for a hypothesis that meets our needs. We have implemented our method in a tool called λ2, and we evaluate this tool on a large set of synthesis problems involving lists, trees, and nested data structures. The experiments demonstrate the scalability and broad scope of λ2. A highlight is the synthesis of a program believed to be the world's earliest functional pearl.
John K. Feser, Swarat Chaudhuri, Isil Dillig
PLDI1