Demo Data from SIGIR 2026 / reviewers in the wild / expert
Cong Yan
dblp:129/2744
· DBLP profile ↗
28ranked-venue papers
8as first author
15since 2021 · last 2025
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 15 · 7 first-author · 8 since 2021Systems, architecture and hardware · 7 · 5 since 2021Software engineering, systems software and programming languages · 7 · 1 first-author · 3 since 2021Artificial intelligence and machine learning · 5 · 1 first-author · 4 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.
| Databases, data mining, and information retrieval
16 papers |
Query processing and optimization · 38% Data integration and cleaning · 28% Database system architecture and tuning · 14% | |
| Software engineering, system software, and programming languages
12 papers |
Software testing · 32% Program synthesis and code generation · 24% Software maintenance and evolution · 12% |
Topics — the 30 heaviest of 45, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Data integration and cleaning
data transformation |
1.5 | 2 | 2025 | Auto-tables: synthesizing multi-step transformations to relationalize tables without using examples · VLDB J. 2025 Auto-Tables: Synthesizing Multi-Step Transformations to Relationalize Tables without Using Examples · Proc. VLDB Endow. 2023 |
Query processing and optimization
query rewriting |
1.3 | 2 | 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web Applications · Proc. VLDB Endow. 2023 SlabCity: Whole-Query Optimization using Program Synthesis · Proc. VLDB Endow. 2023 |
Database system architecture and tuning › database design
physical database design |
1.0 | 2 | 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web Applications · Proc. VLDB Endow. 2023 Generating Application-specific Data Layouts for In-memory Databases · Proc. VLDB Endow. 2019 |
Data integration and cleaning
schema matching |
0.9 | 1 | 2025 | Auto-tables: synthesizing multi-step transformations to relationalize tables without using examples · VLDB J. 2025 |
Query processing and optimization › query optimization › user-defined function optimization
UDF inlining |
0.9 | 1 | 2025 | QURE: AI-Assisted and Automatically Verified UDF Inlining · Proc. ACM Manag. Data 2025 |
Query processing and optimization › query optimization
user-defined function optimization |
0.9 | 1 | 2025 | QURE: AI-Assisted and Automatically Verified UDF Inlining · Proc. ACM Manag. Data 2025 |
Program verification
equivalence checking |
0.9 | 1 | 2025 | QURE: AI-Assisted and Automatically Verified UDF Inlining · Proc. ACM Manag. Data 2025 |
Query processing and optimization
query optimization |
0.9 | 2 | 2023 | Predicate Pushdown for Data Science Pipelines · Proc. ACM Manag. Data 2023 SlabCity: Whole-Query Optimization using Program Synthesis · Proc. VLDB Endow. 2023 |
Empirical software engineering
mining software repositories |
0.8 | 2 | 2020 | Managing data constraints in database-backed web applications · ICSE 2020 How not to structure your database-backed web applications: a study of performance bugs in the wild · ICSE 2018 |
Query processing and optimization › query optimization › declarative query optimization
constraint query optimization |
0.7 | 1 | 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web Applications · Proc. VLDB Endow. 2023 |
Data integration and cleaning
dependency discovery |
0.7 | 1 | 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web Applications · Proc. VLDB Endow. 2023 |
Query processing and optimization › query optimization › predicate optimization
predicate pushdown |
0.7 | 1 | 2023 | Predicate Pushdown for Data Science Pipelines · Proc. ACM Manag. Data 2023 |
Software testing › test coverage › code coverage
branch coverage |
0.7 | 1 | 2023 | Generating Test Databases for Database-Backed Applications · ICSE 2023 |
Program synthesis and code generation › DSL-based synthesis
query synthesis |
0.7 | 1 | 2023 | SlabCity: Whole-Query Optimization using Program Synthesis · Proc. VLDB Endow. 2023 |
Software testing
test coverage |
0.7 | 1 | 2023 | Generating Test Databases for Database-Backed Applications · ICSE 2023 |
Software testing › test input generation
test database generation |
0.7 | 1 | 2023 | Generating Test Databases for Database-Backed Applications · ICSE 2023 |
Software testing
test input generation |
0.7 | 1 | 2023 | Generating Test Databases for Database-Backed Applications · ICSE 2023 |
Transaction processing and concurrency control
contention management |
0.5 | 1 | 2021 | Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking · SIGMOD Conference 2021 |
Transaction processing and concurrency control › concurrency control › locking
early lock release |
0.5 | 1 | 2021 | Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking · SIGMOD Conference 2021 |
Transaction processing and concurrency control › contention management
hotspot contention |
0.5 | 1 | 2021 | Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking · SIGMOD Conference 2021 |
Transaction processing and concurrency control › concurrency control › locking protocols
two-phase locking |
0.5 | 1 | 2021 | Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking · SIGMOD Conference 2021 |
Data integration and cleaning
data preprocessing |
0.4 | 1 | 2020 | Auto-Suggest: Learning-to-Recommend Data Preparation Steps Using Data Science Notebooks · SIGMOD Conference 2020 |
Indexing and storage engines › in-memory storage
in-memory data layout |
0.4 | 1 | 2020 | Demonstration of Chestnut: An In-memory Data Layout Designer for Database Applications · SIGMOD Conference 2020 |
Data mining
mining software repositories |
0.4 | 1 | 2020 | Auto-Suggest: Learning-to-Recommend Data Preparation Steps Using Data Science Notebooks · SIGMOD Conference 2020 |
Data integration and cleaning › data quality
data validation |
0.3 | 1 | 2018 | Synthesizing Type-Detection Logic for Rich Semantic Data Types using Open-source Code · SIGMOD Conference 2018 |
Data integration and cleaning › table understanding › table annotation
semantic type detection |
0.3 | 1 | 2018 | Synthesizing Type-Detection Logic for Rich Semantic Data Types using Open-source Code · SIGMOD Conference 2018 |
Software testing
performance issue detection |
0.3 | 1 | 2018 | PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE · ESEC/SIGSOFT FSE 2018 |
Program analysis
static analysis |
0.3 | 1 | 2018 | PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE · ESEC/SIGSOFT FSE 2018 |
Software maintenance and evolution
technical debt |
0.3 | 1 | 2018 | PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE · ESEC/SIGSOFT FSE 2018 |
Transaction processing and concurrency control › contention management
lock contention |
0.2 | 1 | 2016 | Leveraging Lock Contention to Improve OLTP Application Performance · Proc. VLDB Endow. 2016 |
Methods — techniques the papers use, named apart from their topics
code generation · 2.8program synthesis · 2.5large language model · 1.7formal verification · 1.7context modeling · 1.5search-verification · 1.3result validation · 1.3query dataflows · 1.3pattern-matching rules · 1.3empirical study · 0.8pipeline synthesis · 0.7speculation-aware task management · 0.2selective aborts · 0.2ordered commits · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | LLM-Vectorizer: LLM-Based Verified Loop VectorizerabstractVectorization is a powerful optimization technique that significantly boosts the performance of high performance computing applications operating on large data arrays. Despite decades of research on auto-vectorization, compilers frequently miss opportunities to vectorize code. On the other hand, writing vectorized code manually using compiler intrinsics is still a complex, error-prone task that demands deep knowledge of specific architecture and compilers. In this paper, we evaluate the potential of large-language models (LLMs) to generate vectorized (Single Instruction Multiple Data) code from scalar programs that process individual array elements. We propose a novel finite-state-machine multi-agents based approach that harnesses LLMs and test-based feedback to generate vectorized code. Our findings indicate that LLMs are capable of producing high-performance vectorized code with run-time speedup ranging from 1.1x to 9.4x as compared to the state-of-the-art compilers such as Intel Compiler, GCC, and Clang. To verify the correctness of vectorized code, we use Alive2, a leading bounded translation validation tool for LLVM IR. We describe a few domain-specific techniques to improve the scalability of Alive2 on our benchmark dataset. Overall, our approach is able to verify 38.2% of vectorizations as correct on the TSVC benchmark dataset. Jubi Taneja, Avery Laird, Cong Yan, Madan Musuvathi, Shuvendu K. Lahiri |
CGO | 3 |
| 2025 | QURE: AI-Assisted and Automatically Verified UDF InliningabstractUser-defined functions (UDFs) extend the capabilities of SQL by improving code reusability and encapsulating complex logic, but can hinder the performance due to optimization and execution inefficiencies. Prior approaches attempt to address this by rewriting UDFs into native SQL, which is then inlined into the SQL queries that invoke them. However, these approaches are either limited to simple pattern matching or require the synthesis of complex verification conditions from procedural code, a process that is brittle and difficult to automate. This limits coverage and makes the translation approaches less extensible to previously unseen procedural constructs. In this work, we present QURE, a framework that (1) leverages large language models (LLMs) to translate UDFs to native SQL, and (2) introduces a novel formal verification method to establish equivalence between the UDF and its translation. QURE uses the semantics of SQL operators to automate the derivation of verification conditions, in turn resulting in broad coverage and high extensibility. We model a large set of imperative constructs, particularly those common in Python and Pandas UDFs, in an intermediate verification language, allowing for the verification of their SQL translation. In our empirical evaluation of Python and Pandas UDFs, equivalence is successfully verified for 88% of UDF-SQL pairs (the rest lack semantically-equivalent SQLs) and LLMs correctly translate 84% of the UDFs. Executing the translated UDFs achieves median performance improvements of 23x on single-node clusters and 12x on 12-node clusters compared to the original UDFs, while also significantly reducing out-of-memory errors. Tarique Siddiqui, Arnd Christian König, Jiashen Cao, Cong Yan, Shuvendu K. Lahiri |
Proc. ACM Manag. Data | 4 |
| 2025 | Auto-tables: synthesizing multi-step transformations to relationalize tables without using examples
Peng Li 0062, Yeye He, Cong Yan, Yue Wang 0070, Surajit Chaudhuri |
VLDB J. | 3 |
| 2024 | Generation of Steady Wheel Gait for Planar X-shaped Walker with Reaction WheelabstractThis paper addresses the problem of realizing a novel robotic bipedal locomotion called wheel gait, which is achieved by rotating the stance and swing legs in the same direction. First, a model of a planar 3-DOF X-shaped walker with a reaction wheel is introduced, and the mathematical equations are described. Second, the condition for stabilizing zero dynamics is formulated as the time integral value of control input to the reaction wheel for one step becomes zero, and the control system for achieving this is designed based on the method of continuous-time output deadbeat control. Third, a typical steady wheel gait of the linearized model is numerically generated, and its extension to the nonlinear model is discussed. Although the nonlinear model has only one nonlinear term in the gravity term, numerical simulations show that there is a big gap between this and the linearized model. Through analysis of the typical nonlinear wheel gaits, the difficulty of achieving the same walking speed as the linearized model is discussed. Fumihiko Asano, Taiki Sedoguchi, Cong Yan |
ICRA | 3 |
| 2024 | Modeling and Gait Analysis of Passive Rimless Wheel with Compliant FeetabstractThe movement of the legs involves the interaction between the feet and the ground. Consequently, most animals possess a wide variety of foot morphologies and multifunctional capabilities. The selection and switching of these foot functions are passive and environment-dependent, ensuring environmental compliance. Despite this, current research on compliant feet lacks mathematical models that simultaneously encompass locomotion and foot compliance. Therefore, conducting in-depth studies on locomotion properties under current conditions is challenging. In this study, we present novel passive compliant feet applicable to the passive walking of a rimless wheel. We first introduce a dynamic model, achieve passive walking through numerical simulations, and subsequently analyze the gait patterns for compliance and multi-period gait. This study bridges a gap in understanding the interaction between motion and compliance in foot design, providing insights into the dynamics of compliant motion. Yanqiu Zheng, Cong Yan, Yuetong He, Fumihiko Asano, Isao T. Tokuda |
IROS | 2 |
| 2024 | Contextualized Data-Wrangling Code Generation in Computational NotebooksabstractData wrangling, the process of preparing raw data for further analysis in computational notebooks, is a crucial yet time-consuming step in data science. Code generation has the potential to automate the data wrangling process to reduce analysts' overhead by translating user intents into executable code. Precisely generating data wrangling code necessitates a comprehensive consideration of the rich context present in notebooks, including textual context, code context and data context. However, notebooks often interleave multiple non-linear analysis tasks into linear sequence of code blocks, where the contextual dependencies are not clearly reflected. Directly training models with source code blocks fails to fully exploit the contexts for accurate wrangling code generation. Junjie Huang 0008, Daya Guo, Chenglong Wang 0005, Jiazhen Gu, Jeevana Priya Inala, Cong Yan, Jianfeng Gao 0001, Nan Duan 0001, Michael R. Lyu |
ASE | 7 |
| 2023 | Generating Test Databases for Database-Backed ApplicationsabstractDatabase-backed applications are widely used. To effectively test these applications, one needs to design not only user inputs but also database states, which imposes unique challenges. First, valid database states have to satisfy complicated constraints determined by application semantics, and hence are difficult to synthesize. Second, the state space of a database is huge, as an application can contain tens to hundreds of tables with up to tens of fields per table. Making things worse, each test involving database operations takes significant time to run. Consequently, unhelpful database states and running tests on them can severely waste testing resources. We propose DBGRILLER, a tool that generates database states to facilitate thorough testing of database-backed applications. To effectively generate valid database states, DBGRILLER strategically injects minor mutation into existing database states and transforms part of the application-under-test into a stand-alone validity checker. To tackle the huge database state space and save testing time, DBGRILLER uses program analysis to identify a novel branch-projected DB view that can be used to filter out database states that are unlikely to increase the testing branch coverage. Our evaluation on 9 popular open-source database applications shows that DBGRILLER can effectively increase branch coverage of existing tests and expose previously unknown bugs. Cong Yan, Suman Nath, Shan Lu 0001 |
ICSE | 1 |
| 2023 | Predicate Pushdown for Data Science PipelinesabstractPredicate pushdown is a widely adopted query optimization. Existing systems and prior work mostly use pattern-matching rules to decide when a predicate can be pushed through certain operators like join or groupby. However, challenges arise in optimizing for data science pipelines due to the widely used non-relational operators and user-defined functions (UDF) that existing rules would fail to cover. In this paper, we present MagicPush, which decides predicate pushdown using a search-verification approach.MagicPush searches for candidate predicates on pipeline input, which is often not the same as the predicate to be pushed down, and verifies that the pushdown does not change pipeline output with full correctness guarantees. Our evaluation on TPC-H queries and 200 real-world pipelines sampled from GitHub Notebooks shows that MagicPush substantially outperforms a strong baseline that uses a union of rules from prior work - it is able to discover new pushdown opportunities and better optimize 42 real-world pipelines with up to 99% reduction in running time, while discovering all pushdown opportunities found by the existing baseline on remaining cases. Cong Yan, Yin Lin, Yeye He |
Proc. ACM Manag. Data | 1 |
| 2023 | Towards Auto-Generated Data SystemsabstractAfter decades of progress, database management systems (DBMSs) are now the backbones of many data applications that we interact with on a daily basis. Yet, with the emergence of new data types and hardware, building and optimizing new data systems remain as difficult as the heyday of relational databases. In this paper, we summarize our work towards automating the building and optimization of data systems. Drawing from our own experience, we further argue that any automation technique must address three aspects: user specification, code generation, and result validation. We conclude by discussing a case study using videos data processing, along with opportunities for future research towards designing data systems that are automatically generated. Alvin Cheung, Maaz Bin Safeer Ahmad, Brandon Haynes, Chanwut Kittivorawong, Shadaj Laddad, Chenglong Wang 0005, Cong Yan |
Proc. VLDB Endow. | 8 |
| 2023 | SlabCity: Whole-Query Optimization using Program SynthesisabstractQuery rewriting is often a prerequisite for effective query optimization, particularly for poorly-written queries. Prior work on query rewriting has relied on a set of "rules" based on syntactic pattern-matching. Whether relying on manual rules or auto-generated ones, rule-based query rewriters are inherently limited in their ability to handle new query patterns. Their success is limited by the quality and quantity of the rules provided to them. To our knowledge, we present the first synthesis-based query rewriting technique, SlabCity, capable of whole-query optimization without relying on any rewrite rules. SlabCity directly searches the space of SQL queries using a novel query synthesis algorithm that leverages a new concept called query dataflows. We evaluate SlabCity on four workloads, including a newly curated benchmark with more than 1000 real-life queries. We show that not only can SlabCity optimize more queries than state-of-the-art query rewriting techniques, but interestingly, it also leads to queries that are significantly faster than those generated by rule-based systems. Rui Dong 0006, Jie Liu 0048, Yuxuan Zhu 0003, Cong Yan, Barzan Mozafari, Xinyu Wang 0006 |
Proc. VLDB Endow. | 4 |
| 2023 | Auto-Tables: Synthesizing Multi-Step Transformations to Relationalize Tables without Using ExamplesabstractRelational tables, where each row corresponds to an entity and each column corresponds to an attribute, have been the standard for tables in relational databases. However, such a standard cannot be taken for granted when dealing with tables "in the wild". Our survey of real spreadsheet-tables and web-tables shows that over 30% of such tables do not conform to the relational standard, for which complex table-restructuring transformations are needed before these tables can be queried easily using SQL-based tools. Unfortunately, the required transformations are non-trivial to program, which has become a substantial pain point for technical and non-technical users alike, as evidenced by large numbers of forum questions in places like StackOverflow and Excel/Tableau forums. We develop an Auto-Tables system that can automatically synthesize pipelines with multi-step transformations (in Python or other languages), to transform non-relational tables into standard relational forms for downstream analytics, obviating the need for users to manually program transformations. We compile an extensive benchmark for this new task, by collecting 244 real test cases from user spreadsheets and online forums. Our evaluation suggests that Auto-Tables can successfully synthesize transformations for over 70% of test cases at interactive speeds, without requiring any input from users, making this an effective tool for both technical and non-technical users to prepare data for analytics. Peng Li 0062, Yeye He, Cong Yan, Yue Wang 0070, Surajit Chaudhuri |
Proc. VLDB Endow. | 3 |
| 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web ApplicationsabstractExploiting the relationships among data is a classical query optimization technique. As persistent data is increasingly being created and maintained programmatically, prior work that infers data relationships from data statistics misses an important opportunity. We present Coco, the first tool that identifies data relationships by analyzing database-backed applications. Once identified, Coco leverages the constraints to optimize the application's physical design and query execution. Instead of developing a fixed set of predefined rewriting rules, Coco employs an enumerate-test-verify technique to automatically exploit the discovered data constraints to improve query execution. Each resulting rewrite is provably equivalent to the original query. Using 14 real-world web applications, our experiments show that Coco can discover numerous data constraints from code analysis and improve real-world application performance significantly. Mengzhu Sun, Sicheng Pan, Siddharth Jha, Cong Yan, Shan Lu 0001, Alvin Cheung |
Proc. VLDB Endow. | 7 |
| 2022 | Modeling, Analysis and Activation of Planar Viscoelastically-combined Rimless WheelsabstractThis paper proposes novel passive-dynamic walk-ers formed by two cross-shaped frames and eight viscoelastic elements. Since it is a combination of two four-legged rimless wheels via viscoelastic elements, we call it viscoelastically-combined rimless wheel (VCRW). Two types of VCRWs consisting of different cross-shaped frames are introduced; one is formed by combining two Greek-cross-shaped frames (VCRW1), and the other is formed by combining two-link cross-shaped frames that can rotate freely around the central axis (VCRW2). First, we describe the model assumptions and equations of motion and collision. Second, we numerically analyze the basic gait properties of passive dynamic walking. Furthermore, we consider an activation of VCRW2 for gen-erating a stable level gait, and discuss the significance of the study as a novel walking support device. Fumihiko Asano, Yuxuan Xiang, Yanqiu Zheng, Cong Yan |
IROS | 4 |
| 2021 | Modeling and Analysis of Tensegrity Robot for Passive Dynamic WalkingabstractThis paper introduces a planar tensegrity robot that walks passively and cyclically on a gentle downhill, where its gait versatility can be strengthened by applying actuation forces on the connection cables. The novelty of this work is that we design the structure of this passive robot inspired by the rimless wheel, which naturally generates cyclic locomotion. Consequently, its mathematical model is analytically derived based on passive dynamic walking. Besides, the limb support conditions and dynamics effects induced by the collisions can be precisely determined accordingly. Moreover, numerical simulation is performed to show the typical gait pattern, and resonance phenomenon is observed. Finally, a preliminary experimental study is conducted to prove the validity of the mathematical model. The robot we developed and the mathematical model we derived enable further extensions on the gait analysis and model-based control by conveniently adopting efficient passivemimic walking techniques. Yanqiu Zheng, Longchuan Li, Fumihiko Asano, Cong Yan, Xindi Zhao, Haosong Chen |
IROS | 4 |
| 2021 | Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase LockingabstractHotspots, a small set of tuples frequently read/written by a large number of transactions, cause contention in a concurrency control protocol. While a hotspot may comprise only a small fraction of a transaction's execution time, conventional strict two-phase locking allows a transaction to release lock only after the transaction completes, which leaves significant parallelism unexploited. Ideally, a concurrency control protocol serializes transactions only for the duration of the hotspots, rather than the duration of transactions. Zhihan Guo, Cong Yan, Xiangyao Yu |
SIGMOD Conference | 3 |
| 2020 | View-Driven Optimization of Database-Backed Web Applications
Cong Yan, Alvin Cheung, Shan Lu 0001 |
CIDR | 1 |
| 2020 | Managing data constraints in database-backed web applicationsabstractDatabase-backed web applications manipulate large amounts of persistent data, and such applications often contain constraints that restrict data length, data value, and other data properties. Such constraints are critical in ensuring the reliability and usability of these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how often they evolve, and how their violations are handled. The results show that developers struggle with maintaining consistent data constraints and checking them across different components and versions of their web applications, leading to various problems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and improve the quality of such applications. Utsav Sethi, Cong Yan, Alvin Cheung, Shan Lu 0001 |
ICSE | 3 |
| 2020 | Demonstration of Chestnut: An In-memory Data Layout Designer for Database ApplicationsabstractThis demonstration showcases Chestnut, a data layout generator for in-memory object-oriented database applications. Given an application and a memory budget, Chestnut generates a customized in-memory data layout and the corresponding query plans that are specialized for the application queries. Our demo will let users design and improve simple web applications using Chestnut. Users can view the Chestnut-generated data layouts using a custom visualization system, which will allow users to see how the application parameters affect Chestnut's design. Finally, users will be able to run queries generated by the application via the customized query plans generated by Chestnut or traditional relational query engines, and can compare the results and observe the speedup achieved by the Chestnut-generated query plans. Mingwei Samuel, Cong Yan, Alvin Cheung |
SIGMOD Conference | 2 |
| 2020 | Auto-Suggest: Learning-to-Recommend Data Preparation Steps Using Data Science NotebooksabstractData preparation is widely recognized as the most time-consuming process in modern business intelligence (BI) and machine learning (ML) projects. Automating complex data preparation steps (e.g., Pivot, Unpivot, Normalize-JSON, etc.)holds the potential to greatly improve user productivity, and has therefore become a central focus of research. We propose a novel approach to "auto-suggest" contextualized data preparation steps, by "learning" from how data scientists would manipulate data, which are documented by data science notebooks widely available today. Specifically, we crawled over 4M Jupyter notebooks on GitHub, and replayed them step-by-step, to observe not only full input/output tables (data-frames) at each step, but also the exact data-preparation choices data scientists make that they believe are best suited to the input data (e.g., how input tables are Joined/Pivoted/Unpivoted, etc.). By essentially "logging" how data scientists interact with diverse tables, and using the resulting logs as a proxy of "ground truth", we can learn-to-recommend data preparation steps best suited to given user data, just like how search engines (Google or Bing) leverage their click-through logs to learn-to-rank documents. This data-driven and log-driven approach leverages the "collective wisdom" of data scientists embodied in the notebooks, and is shown to significantly outperform strong baselines including commercial systems in terms of accuracy. Cong Yan, Yeye He |
SIGMOD Conference | 1 |
| 2019 | View-centric performance optimization for database-backed web applicationsabstractWeb developers face the stringent task of designing informative web pages while keeping the page-load time low. This task has become increasingly challenging as most web contents are now generated by processing ever-growing amount of user data stored in back-end databases. It is difficult for developers to understand the cost of generating every web-page element, not to mention explore and pick the web design with the best trade-off between performance and functionality. In this paper, we present Panorama, a view-centric and database-aware development environment for web developers. Using database-aware program analysis and novel IDE design, Panorama provides developers with intuitive information about the cost and the performance-enhancing opportunities behind every HTML element, as well as suggesting various global code refactorings that enable developers to easily explore a wide spectrum of performance and functionality trade-offs. Cong Yan, Chengcheng Wan 0001, Shan Lu 0001, Alvin Cheung |
ICSE | 2 |
| 2019 | Generating Application-specific Data Layouts for In-memory DatabasesabstractDatabase applications are often developed with object-oriented languages while using relational databases as the backend. To accelerate these applications, developers would manually design customized data structures to store data in memory, and ways to utilize such data structures to answer queries. Doing so is brittle and requires a lot of effort. Alternatively, developers might automate the process by using relational physical design tools to create materialized views and indexes instead. However, the characteristics of object-oriented database applications are often distinct enough from traditional database applications such that classical relational query optimization techniques often cannot speed up queries that arise from such applications, as our experiments show. To address this, we build Chestnut, a data layout generator for in-memory object-oriented database applications. Given a memory budget, Chestnut generates customized in-memory data layouts and query plans to answer queries written using a subset of the Rails API, a common framework for building object-oriented database applications. Chestnut differs from traditional query optimizers and physical designers in two ways. First, Chestnut automatically generates data layouts that are customized for the application after analyzing their queries, hence Chestnut-generated data layouts are designed to be efficient to answer queries from such applications. second, Chestnut uses a novel enumeration and verification-based algorithm to generate query plans that use such data layouts, rather than rule-based approaches as in traditional query optimizers. We evaluated Chestnut on four open-source Rails database applications. The result shows that it can reduce average query processing time by over 3.6X (and up to 42X), as compared to other in-memory relational database engines. Cong Yan, Alvin Cheung |
Proc. VLDB Endow. | 1 |
| 2018 | How not to structure your database-backed web applications: a study of performance bugs in the wildabstractMany web applications use databases for persistent data storage, and using Object Relational Mapping (ORM) frameworks is a common way to develop such database-backed web applications. Unfortunately, developing efficient ORM applications is challenging, as the ORM framework hides the underlying database query generation and execution. This problem is becoming more severe as these applications need to process an increasingly large amount of persistent data. Recent research has targeted specific aspects of performance problems in ORM applications. However, there has not been any systematic study to identify common performance anti-patterns in real-world such applications, how they affect resulting application performance, and remedies for them. Pranav Subramaniam, Shan Lu 0001, Cong Yan, Alvin Cheung |
ICSE | 4 |
| 2018 | Synthesizing Type-Detection Logic for Rich Semantic Data Types using Open-source CodeabstractGiven a table of data, existing systems can often detect basic atomic types (e.g., strings vs. numbers) for each column. A new generation of data-analytics and data-preparation systems are starting to automatically recognize rich semantic types such as date-time, email address, etc., for such metadata can bring an array of benefits including better table understanding, improved search relevance, precise data validation, and semantic data transformation. However, existing approaches only detect a limited number of types using regular-expression-like patterns, which are often inaccurate, and cannot handle rich semantic types such as credit card and ISBN numbers that encode semantic validations (e.g., checksum). Cong Yan, Yeye He |
SIGMOD Conference | 1 |
| 2018 | PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDEabstractModern web applications are built using a myriad of software components, and each of them exposes different programming models (e.g., application logic expressed in an imperative language, database queries expressed using declarative SQL). To improve programmer productivity, Object Relational Mapping (ORM) frameworks have been developed to allow developers build web applications in an object-oriented manner. Despite such frameworks, prior work has found that developers still struggle in developing performant ORM-based web applications. This paper presents PowerStation, a RubyMine IDE plugin for optimizing web applications developed using the Ruby on Rails ORM. Using automated static analysis, PowerStation detects ORM-related inefficiency problems and suggests fixes to developers. Our evaluation using 12 real-world applications shows that PowerStation can automatically detects 1221 performance issues across them. A tutorial on using PowerStation can be found at https://youtu.be/rAV8CGuSj6k. Cong Yan, Pranav Subramaniam, Shan Lu 0001, Alvin Cheung |
ESEC/SIGSOFT FSE | 2 |
| 2017 | Understanding Database Performance Inefficiencies in Real-world Web ApplicationsabstractMany modern database-backed web applications are built upon Object Relational Mapping (ORM) frameworks. While such frame- works ease application development by abstracting persistent data as objects, such convenience comes with a performance cost. In this paper, we studied 27 real-world open-source applications built on top of the popular Ruby on Rails ORM framework, with the goal to understand the database-related performance inefficiencies in these applications. We discovered a number of inefficiencies rang- ing from physical design issues to how queries are expressed in the application code. We applied static program analysis to identify and measure how prevalent these issues are, then suggested techniques to alleviate these issues and measured the potential performance gain as a result. These techniques significantly reduce database query time (up to 91%) and the webpage response time (up to 98%). Our study provides guidance to the design of future database engines and ORM frameworks to support database application that are performant yet without sacrificing programmability. Cong Yan, Alvin Cheung, Shan Lu 0001 |
CIKM | 1 |
| 2017 | DC voltage follow-up control for mitigating the power fluctuation of distributed generationabstractThe power fluctuation of distributed generation has a negative effect on the power quality, losses and operation safety, and a good solution is to mitigate the power fluctuation near the grid-connected point of this generation. A new method for mitigating grid-side power fluctuation by the grid-connected inverter itself is proposed in this paper. A certain capacity of Li-ion supercapacitor is used as the dc-link capacitor of the grid-connected inverter first, and then a dc voltage follow-up control of the grid-connected inverter is adapted to charge/discharge the Li-ion capacitor indirectly. Finally, the power fluctuation of the renewable energy generation is well compensated by the charge/discharge power of the Li-ion capacitor, and the grid-side power has been smoothed. Taking a PV generation system as an example, the simulation results show that the dc voltage follow-up control of the grid-connected inverter can effectively mitigate its grid-side power fluctuation. Xiangqian Tong, Cong Yan, Shude Yang, Kaiyu Tang |
IECON | 2 |
| 2016 | Leveraging Lock Contention to Improve OLTP Application PerformanceabstractLocking is one of the predominant costs in transaction processing. While much work has focused on designing efficient concurrency control mechanisms, not much has been done on understanding how transaction applications issue queries and leveraging application semantics to improve application performance. This paper presents Q uro , a query-aware compiler that automatically reorders queries in transaction code to improve performance. Observing that certain queries within a transaction are more contentious than others as they require locking the same tuples as other concurrently executing transactions, Q uro automatically changes the application such that contentious queries are issued as late as possible. We have evaluated Q uro on various transaction benchmarks, and our results show that Q uro -generated implementations can increase transaction throughput by up to 6.53x, while reduce transaction latency by up to 85%. Cong Yan, Alvin Cheung |
Proc. VLDB Endow. | 1 |
| 2015 | A scalable architecture for ordered parallelismabstractWe present Swarm, a novel architecture that exploits ordered irregular parallelism, which is abundant but hard to mine with current software and hardware techniques. In this architecture, programs consist of short tasks with programmer-specified timestamps. Swarm executes tasks speculatively and out of order, and efficiently speculates thousands of tasks ahead of the earliest active task to uncover ordered parallelism. Swarm builds on prior TLS and HTM schemes, and contributes several new techniques that allow it to scale to large core counts and speculation windows, including a new execution model, speculation-aware hardware task management, selective aborts, and scalable ordered commits. Mark C. Jeffrey, Suvinay Subramanian, Cong Yan, Joel S. Emer, Daniel Sánchez 0003 |
MICRO | 3 |