Demo Data from SIGIR 2026 / reviewers in the wild / expert
Alvin Cheung
dblp:16/4915
· DBLP profile ↗
79ranked-venue papers
14as first author
30since 2021 · last 2026
0000-0001-6261-6263ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 40 · 11 first-author · 12 since 2021Software engineering, systems software and programming languages · 19 · 2 first-author · 8 since 2021Artificial intelligence and machine learning · 16 · 1 first-author · 10 since 2021Systems, architecture and hardware · 4 · 1 since 2021Computer networks · 2 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 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
36 papers |
Program synthesis and code generation · 40% Compilers and program optimization · 17% Software maintenance and evolution · 17% | |
| Databases, data mining, and information retrieval
29 papers |
Query processing and optimization · 23% Database theory · 17% Database system architecture and tuning · 17% | |
| Artificial intelligence
11 papers |
Efficient and distributed learning · 32% Information extraction and text analysis · 20% Deep learning architectures and training · 17% | |
| Computer architecture, parallel and distributed computing, and storage systems
12 papers |
Distributed systems · 42% Storage systems · 16% Performance modeling and evaluation · 16% | |
| Computer graphics and multimedia
9 papers |
Multimedia systems and quality of experience · 36% Visualization and visual analytics · 30% Virtual and augmented reality · 17% |
Topics — the 30 heaviest of 135, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Database theory
query containment |
2.0 | 5 | 2024 | QED: A Powerful Query Equivalence Decider for SQL · Proc. VLDB Endow. 2024 Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries · Proc. VLDB Endow. 2018 Speeding up symbolic reasoning for relational queries · Proc. ACM Program. Lang. 2018 |
Program synthesis and code generation › formal synthesis
verified lifting |
1.6 | 3 | 2024 | Verified Code Transpilation with LLMs · NeurIPS 2024 Katara: synthesizing CRDTs with verified lifting · Proc. ACM Program. Lang. 2022 Verified lifting of stencil computations · PLDI 2016 |
Software maintenance and evolution › program comprehension
code comprehension |
1.5 | 2 | 2024 | Evaluation of LLMs on Syntax-Aware Code Fill-in-the-Middle Tasks · ICML 2024 AST-T5: Structure-Aware Pretraining for Code Generation and Understanding · ICML 2024 |
Compilers and program optimization
code generation |
1.5 | 2 | 2024 | Evaluation of LLMs on Syntax-Aware Code Fill-in-the-Middle Tasks · ICML 2024 AST-T5: Structure-Aware Pretraining for Code Generation and Understanding · ICML 2024 |
Data models and query languages › query language
query language semantics |
1.4 | 3 | 2024 | QED: A Powerful Query Equivalence Decider for SQL · Proc. VLDB Endow. 2024 Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries · Proc. VLDB Endow. 2018 HoTTSQL: proving query rewrites with univalent SQL semantics · PLDI 2017 |
Program synthesis and code generation
programming by example |
1.3 | 3 | 2022 | Synthesizing analytical SQL queries from computation demonstration · PLDI 2022 Visualization by example · Proc. ACM Program. Lang. 2020 Synthesizing highly expressive SQL queries from input-output examples · PLDI 2017 |
Query processing and optimization
query rewriting |
1.2 | 3 | 2023 | Leveraging Application Data Constraints to Optimize Database-Backed Web Applications · Proc. VLDB Endow. 2023 Demonstration of the Cosette Automated SQL Prover · SIGMOD Conference 2017 HoTTSQL: proving query rewrites with univalent SQL semantics · PLDI 2017 |
Distributed systems › replication › replicated data types
conflict-free replicated data types |
1.1 | 2 | 2022 | Keep CALM and CRDT On · Proc. VLDB Endow. 2022 Katara: synthesizing CRDTs with verified lifting · Proc. ACM Program. Lang. 2022 |
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 |
Software maintenance and evolution
code search |
1.0 | 2 | 2024 | Syntactic Code Search with Sequence-to-Tree Matching: Supporting Syntactic Search with Incomplete Code Fragments · Proc. ACM Program. Lang. 2024 Summarizing Source Code using a Neural Attention Model · ACL (1) 2016 |
Machine learning › Representation and self-supervised learning
pre-training |
0.9 | 2 | 2024 | Model-Generated Pretraining Signals Improves Zero-Shot Generalization of Text-to-Text Transformers · ACL (1) 2023 AST-T5: Structure-Aware Pretraining for Code Generation and Understanding · ICML 2024 |
Natural language and speech › Information extraction and text analysis › document analysis
document information extraction |
0.9 | 1 | 2025 | Visual Template Inference for Data Extraction from Documents · Proc. ACM Manag. Data 2025 |
Data integration and cleaning › data extraction
structured data extraction |
0.9 | 1 | 2025 | Visual Template Inference for Data Extraction from Documents · Proc. ACM Manag. Data 2025 |
Data integration and cleaning › data extraction › web data extraction
template-based extraction |
0.9 | 1 | 2025 | Visual Template Inference for Data Extraction from Documents · Proc. ACM Manag. Data 2025 |
Programming languages and type systems › language semantics
stream semantics |
0.9 | 1 | 2025 | Flo: A Semantic Foundation for Progressive Stream Processing · Proc. ACM Program. Lang. 2025 |
Program synthesis and code generation › programming by example
SQL query synthesis |
0.9 | 2 | 2022 | Synthesizing analytical SQL queries from computation demonstration · PLDI 2022 Synthesizing highly expressive SQL queries from input-output examples · PLDI 2017 |
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 |
Machine learning › Deep learning architectures and training › deep learning systems
deep learning framework |
0.8 | 1 | 2024 | ADELT: Transpilation between Deep Learning Frameworks · IJCAI 2024 |
Machine learning › Efficient and distributed learning
inference acceleration |
0.8 | 1 | 2024 | Online Speculative Decoding · ICML 2024 |
Natural language and speech › Language models and text generation
large language model inference |
0.8 | 1 | 2024 | Online Speculative Decoding · ICML 2024 |
Machine learning › Efficient and distributed learning › inference acceleration
speculative decoding |
0.8 | 1 | 2024 | Online Speculative Decoding · ICML 2024 |
Database theory › semiring semantics
bag semantics |
0.8 | 1 | 2024 | QED: A Powerful Query Equivalence Decider for SQL · Proc. VLDB Endow. 2024 |
Program synthesis and code generation
code completion |
0.8 | 1 | 2024 | Evaluation of LLMs on Syntax-Aware Code Fill-in-the-Middle Tasks · ICML 2024 |
Program synthesis and code generation › code completion
fill-in-the-middle |
0.8 | 1 | 2024 | Evaluation of LLMs on Syntax-Aware Code Fill-in-the-Middle Tasks · ICML 2024 |
Program verification › proof generation
LLM-based proof generation |
0.8 | 1 | 2024 | Verified Code Transpilation with LLMs · NeurIPS 2024 |
Compilers and program optimization › program transformation
source-to-source transformation |
0.8 | 1 | 2024 | ADELT: Transpilation between Deep Learning Frameworks · IJCAI 2024 |
Natural language and speech › Information extraction and text analysis
semantic parsing |
0.7 | 2 | 2019 | Learning Programmatic Idioms for Scalable Semantic Parsing · EMNLP/IJCNLP (1) 2019 Learning a Neural Semantic Parser from User Feedback · ACL (1) 2017 |
Performance modeling and evaluation
benchmarking |
0.7 | 2 | 2019 | Visual Road: A Video Data Management Benchmark · SIGMOD Conference 2019 Comparative Evaluation of Big-Data Systems on Scientific Image Analytics Workloads · Proc. VLDB Endow. 2017 |
Machine learning › Transfer learning and domain adaptation
zero-shot transfer |
0.7 | 1 | 2023 | Model-Generated Pretraining Signals Improves Zero-Shot Generalization of Text-to-Text Transformers · ACL (1) 2023 |
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 |
Methods — techniques the papers use, named apart from their topics
program synthesis · 5.0visual template inference · 1.7vision-based LLM · 1.7type system · 1.7dataflow composition · 1.7syntax-aware post-processing · 1.5span corruption · 1.5prompt design · 1.5dynamic programming · 1.5domain-specific language · 1.5abstract syntax tree · 1.5query model · 1.1monotonicity reasoning · 1.1data layout optimization · 1.0caching · 1.0empirical study · 0.8transpilation · 0.8query distribution adaptation · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Supporting Our AI Overlords: Redesigning Data Systems to be Agent-First
Soujanya Ponnapalli, Shreya Shankar, Sepanta Zeighami, Alan Zhu 0001, Shubham Agarwal 0007, Samion Suwito, Ion Stoica, Matei Zaharia, Alvin Cheung, Natacha Crooks, Joseph Gonzalez 0001, Aditya G. Parameswaran |
CIDR | 12 |
| 2026 | Optimism in Equality SaturationabstractEquality saturation is a program optimization technique based on non-destructive rewriting and a form of abstract interpretation called e-class analysis. Existing e-class analyses are pessimistic and therefore typically imprecise when analyzing cyclic programs, such as those in SSA form. We show that a straightforward optimistic variant of e-class analysis can result in unsoundness, due to a subtlety in how e-graphs represent programs. We propose an abstract interpretation algorithm that circumvents this issue and can optimistically analyze e-graphs during equality saturation. This results in a unified algorithm for optimistic analysis and non-destructive rewriting. We implement a prototype abstract interpreter and equality saturation tool for SSA programs. Our tool exhibits precision improvements over pure abstract interpretation (without rewriting) and pessimistic e-class analysis on example programs. Additionally, its performance is comparable to existing abstract interpretation and e-class analysis techniques. Russel Arbore, Alvin Cheung, Max Willsey |
Proc. ACM Program. Lang. | 2 |
| 2025 | Visual Template Inference for Data Extraction from DocumentsabstractMany templatized documents are programmatically generated from structured data following a visual template. Such documents include invoices, tax documents, financial reports, and purchase orders. Effective data extraction from these documents is crucial to support downstream analytical tasks. Current data extraction tools often struggle with complex document layouts, incur high latency and/or cost on large datasets, and require significant human effort. The key insight of our tool, TWIX, is to infer the underlying template used to create such documents, and then extract the data, rather than extracting directly from documents. To do so, TWIX first infers the underlying fields, such as columns of tabular portions or keys in co-located key-value pairs, by leveraging their consistent location patterns (e.g., two fields in the same template repeatedly co-occur within a fixed distance apart across multiple records). TWIX then assembles these fields into a template by enforcing visual constraints, such as vertically aligning table rows with their column headers for tabular regions, and horizontally aligning keys with their values for key-value pairs. TWIX then uses this inferred template to accurately and efficiently extract data from templatized documents at a low cost. On one benchmark with 34 diverse real-world datasets, TWIX outperforms state-of-the-art structured data extraction tools (Evaporate, Textract, and Azure Document Intelligence), and vision-based LLMs like GPT-4-Vision, by over 25% in precision and recall. Another benchmark with 30 large datasets demonstrates TWIX's scalability: it is 520X faster and 3,786X cheaper than the most competitive compared tool, for extracting data from large document collections with over 2000 pages. Yiming Lin 0002, Mawil Hasan, Rohan Kosalge, Alvin Cheung, Aditya G. Parameswaran |
Proc. ACM Manag. Data | 4 |
| 2025 | Flo: A Semantic Foundation for Progressive Stream ProcessingabstractStreaming systems are present throughout modern applications, processing continuous data in real-time. Existing streaming languages have a variety of semantic models and guarantees that are often incompatible. Yet all these languages are considered “streaming”–what do they have in common? In this paper, we identify two general yet precise semantic properties: streaming progress and eager execution. Together, they ensure that streaming outputs are deterministic and kept fresh with respect to streaming inputs. We formally define these properties in the context of Flo, a parameterized streaming language that abstracts over dataflow operators and the underlying structure of streams. It leverages a lightweight type system to distinguish bounded streams, which allow operators to block on termination, from unbounded ones. Furthermore, Flo provides constructs for dataflow composition and nested graphs with cycles. To demonstrate the generality of our properties, we show how key ideas from representative streaming and incremental computation systems—Flink, LVars, and DBSP—have semantics that can be modeled in Flo and guarantees that map to our properties. Shadaj Laddad, Alvin Cheung, Joseph M. Hellerstein, Mae Milano |
Proc. ACM Program. Lang. | 2 |
| 2024 | Inferring Visualization Intent from ConversationabstractDuring visual data analysis, users often explore visualizations one at a time, with each visualization leading to new directions of exploration. We consider a conversational approach to visualization, where users specify their needs at each step in natural language, with a visualization being returned in turn. Prior work has shown that visualization generation can be boiled down to the identification of visualization intent and visual encodings. Recognizing that the latter is a well-studied problem with standard solutions, we focus on the former, i.e., identifying visualization intent during conversation. We develop Luna, a framework that comprises a novel combination of language models adapted from BERT and rule-based inference, that together predict various aspects of visualization intent. We compare Luna with other conversational NL-to-visualization and NL-to-SQL approaches (adapted to visualization intent), including GPT-3.5 and GPT-4, and demonstrate that Luna has 14.3% higher accuracy than the state-of-the-art. We also apply Luna to a usage scenario on a dataset of police misconduct, showcasing its benefits relative to other approaches. Haotian Li 0001, Nithin Chalapathi, Huamin Qu, Alvin Cheung, Aditya G. Parameswaran |
CIKM | 4 |
| 2024 | Tenspiler: A Verified-Lifting-Based Compiler for Tensor OperationsabstractTensor processing infrastructures such as deep learning frameworks and specialized hardware accelerators have revolutionized how computationally intensive code from domains such as deep learning and image processing is executed and optimized. These infrastructures provide powerful and expressive abstractions while ensuring high performance. However, to utilize them, code must be written specifically using the APIs / ISAs of such software frameworks or hardware accelerators. Importantly, given the fast pace of innovation in these domains, code written today quickly becomes legacy as new frameworks and accelerators are developed, and migrating such legacy code manually is a considerable effort. To enable developers in leveraging such DSLs while preserving their current programming paradigm, we introduce Tenspiler, a verified lifting-based compiler that uses program synthesis to translate sequential programs written in general-purpose programming languages (e.g., C++ or Python code) into tensor operations. Central to Tenspiler is our carefully crafted yet simple intermediate language, named TensIR, that expresses tensor operations. TensIR enables efficient lifting, verification, and code generation. Currently, Tenspiler already supports $\textbf{six}$ DSLs, spanning a broad spectrum of software and hardware environments. Furthermore, we show that new backends can be easily supported by Tenspiler by adding simple pattern-matching rules for TensIR. Using 10 real-world code benchmark suites, our experimental evaluation shows that by translating code to be executed on $\textbf{6}$ different software frameworks and hardware devices, Tenspiler offers on average 105$\times$ kernel and 9.65$\times$ end-to-end execution time improvement over the fully-optimized sequential implementation of the same benchmarks. Colin Cai, Sahil Bhatia, Niranjan Hasabnis, Sanjit A. Seshia, Alvin Cheung |
ECOOP | 6 |
| 2024 | AST-T5: Structure-Aware Pretraining for Code Generation and UnderstandingabstractLarge language models (LLMs) have made significant advancements in code-related tasks, yet many LLMs treat code as simple sequences, neglecting its structured nature. We introduce AST-T5, a novel pretraining paradigm that leverages the Abstract Syntax Tree (AST) for enhanced code generation, transpilation, and understanding. Using dynamic programming, our AST-Aware Segmentation retains code structure, while our AST-Aware Span Corruption objective equips the model to reconstruct various code structures. Unlike other models, AST-T5 avoids complex program analyses or architectural changes, so it integrates seamlessly with any encoder-decoder Transformer. Evaluations show that AST-T5 consistently outperforms similar-sized LMs across various code-related tasks including HumanEval and MBPP. Structure-awareness makes AST-T5 particularly powerful in code-to-code tasks, surpassing CodeT5 by 2 points in exact match score for the Bugs2Fix task and by 3 points in exact match score for Java-C# Transpilation in CodeXGLUE. Our code and model are publicly available at https://github.com/gonglinyuan/ast_t5. Linyuan Gong, Mostafa Elhoushi, Alvin Cheung |
ICML | 3 |
| 2024 | Evaluation of LLMs on Syntax-Aware Code Fill-in-the-Middle TasksabstractWe introduce **S**yntax-**A**ware **F**ill-**i**n-the-**M**iddle (SAFIM), a new benchmark for evaluating Large Language Models (LLMs) on the code Fill-in-the-Middle (FIM) task. This benchmark focuses on syntax-aware completions of program structures such as code blocks and conditional expressions, and includes 17,720 examples from multiple programming languages, sourced from recent code submissions after April 2022 to minimize data contamination. SAFIM provides a robust framework with various prompt designs and novel syntax-aware post-processing techniques, facilitating accurate and fair comparisons across LLMs. Our comprehensive evaluation of 15 LLMs shows that FIM pretraining not only enhances FIM proficiency but also improves Left-to-Right (L2R) inference using LLMs. Our findings challenge conventional beliefs and suggest that pretraining methods and data quality have more impact than model size. SAFIM thus serves as a foundational platform for future research in effective pretraining strategies for code LLMs. The evaluation toolkit and dataset are available at https://github.com/gonglinyuan/safim, and the leaderboard is available at https://safimbenchmark.com. Linyuan Gong, Mostafa Elhoushi, Alvin Cheung |
ICML | 4 |
| 2024 | Online Speculative DecodingabstractSpeculative decoding is a pivotal technique to accelerate the inference of large language models (LLMs) by employing a smaller draft model to predict the target model’s outputs. However, its efficacy can be limited due to the low predictive accuracy of the draft model, particularly when faced with diverse text inputs and a significant capability gap between the draft and target models. We introduce online speculative decoding to address this challenge. The main idea is to continuously update the (multiple) draft model(s) on observed user query data. Adapting to query distribution mitigates the shifts between the training distribution of the draft model and the query distribution, enabling the draft model to more accurately predict the target model’s outputs. We develop a prototype of online speculative decoding based on knowledge distillation and evaluate it using both synthetic and real query data. The results show a substantial increase in the token acceptance rate by 0.1 to 0.65, bringing 1.42x to 2.17x latency reduction. Our code is available at https://github.com/LiuXiaoxuanPKU/OSD. Lanxiang Hu, Peter Bailis, Alvin Cheung, Zhijie Deng, Ion Stoica, Hao Zhang 0025 |
ICML | 4 |
| 2024 | ADELT: Transpilation between Deep Learning Frameworks
Linyuan Gong, Alvin Cheung |
IJCAI | 3 |
| 2024 | SlimFit: Memory-Efficient Fine-Tuning of Transformer-based Models Using Training DynamicsabstractArash Ardakani, Altan Haan, Shangyin Tan, Doru Thom Popovici, Alvin Cheung, Costin Iancu, Koushik Sen. Proceedings of the 2024 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (Volume 1: Long Papers). 2024. Arash Ardakani, Altan Haan, Shangyin Tan, Doru-Thom Popovici, Alvin Cheung, Costin Iancu, Koushik Sen |
NAACL-HLT | 5 |
| 2024 | Verified Code Transpilation with LLMsabstractDomain-specific languages (DSLs) have become integral to various software workflows. Such languages offer domain-specific optimizations and abstractions that improve code readability and maintainability. However, leveraging these languages requires developers to rewrite existing code using the specific DSL's API. While large language models (LLMs) have shown some success in automatic code transpilation, none of them provide any functional correctness guarantees on the rewritten code. Another approach for automating this task is verified lifting, which relies on program synthesis to find programs in the target language that are functionally equivalent to the source language program. While several verified lifting tools have been developed for various application domains, they are specialized for specific source-target languages or require significant expertise in domain knowledge to make the search efficient. In this paper, leveraging recent advances in LLMs, we propose an LLM-based approach (LLMLift) to building verified lifting tools. We use the LLM's capabilities to reason about programs to translate a given program into its corresponding equivalent in the target language. Additionally, we use LLMs to generate proofs for functional equivalence. We develop lifting-based compilers for four DSLs targeting different application domains. Our approach not only outperforms previous symbolic-based tools in number of benchmarks transpiled and transpilation time, but also requires significantly less effort to build. Sahil Bhatia, Niranjan Hasabnis, Sanjit A. Seshia, Alvin Cheung |
NeurIPS | 5 |
| 2024 | Syntactic Code Search with Sequence-to-Tree Matching: Supporting Syntactic Search with Incomplete Code FragmentsabstractLightweight syntactic analysis tools like Semgrep and Comby leverage the tree structure of code, making them more expressive than string and regex search. Unlike traditional language frameworks (e.g., ESLint) that analyze codebases via explicit syntax tree manipulations, these tools use query languages that closely resemble the source language. However, state-of-the-art matching techniques for these tools require queries to be complete and parsable snippets, which makes in-progress query specifications useless. We propose a new search architecture that relies only on tokenizing (not parsing) a query. We introduce a novel language and matching algorithm to support tree-aware wildcards on this architecture by building on tree automata. We also present stsearch , a syntactic search tool leveraging our approach. In contrast to past work, our approach supports syntactic search even for previously unparsable queries. We show empirically that stsea rch can support all tokenizable queries, while still providing results comparable to Semgrep for existing queries. Our work offers evidence that lightweight syntactic code search can accept in-progress specifications, potentially improving support for interactive settings. CCS Concepts: • Software and its engineering → Formal language definitions ; Software maintenance tools; • Information systems → Query representation; • Theory of computation → Tree languages. Gabriel Matute, Wode Ni, Titus Barik, Alvin Cheung, Sarah E. Chasins |
Proc. ACM Program. Lang. | 4 |
| 2024 | Spatialyze: A Geospatial Video Analytics System with Spatial-Aware OptimizationsabstractVideos that are shot using commodity hardware such as phones and surveillance cameras record various metadata such as time and location. We encounter such geospatial videos on a daily basis and such videos have been growing in volume significantly. Yet, we do not have data management systems that allow users to interact with such data effectively. In this paper, we describe Spatialyze, a new framework for end-to-end querying of geospatial videos. Spatialyze comes with a domain-specific language where users can construct geospatial video analytic workflows using a 3-step, declarative, build-filter-observe paradigm. Internally, Spatialyze leverages the declarative nature of such workflows, the temporal-spatial metadata stored with videos, and physical behavior of real-world objects to optimize the execution of workflows. Our results using real-world videos and workflows show that Spatialyze can reduce execution time by up to 5.3×, while maintaining up to 97.1% accuracy compared to unoptimized execution. Chanwut Kittivorawong, Yongming Ge, Yousef Helal, Alvin Cheung |
Proc. VLDB Endow. | 4 |
| 2024 | QED: A Powerful Query Equivalence Decider for SQLabstractChecking query equivalence is of great significance in database systems. Prior work in automated query equivalence checking sets the first steps in formally modeling and reasoning about query optimization rules, but only supports a limited number of query features. In this paper, we present Qed, a new framework for query equivalence checking based on bag semantics. Qed uses a new formalism called Q-expressions that models queries using different normal forms for efficient equivalence checking, and models features such as integrity constraints and NULLs in a principled way unlike prior work. Our formalism also allows us to define a new query fragment that encompasses many real-world queries with a complete equivalence checking algorithm, assuming a complete first-order theory solver. Empirically, Qed can verify 299 out of 444 query pairs extracted from the Calcite framework and 979 out of 1287 query pairs extracted from CockroachDB, which is more than 2× the number of cases proven by prior state-of-the-art solver. Sicheng Pan, Alvin Cheung |
Proc. VLDB Endow. | 3 |
| 2023 | Model-Generated Pretraining Signals Improves Zero-Shot Generalization of Text-to-Text TransformersabstractLinyuan Gong, Chenyan Xiong, Xiaodong Liu, Payal Bajaj, Yiqing Xie, Alvin Cheung, Jianfeng Gao, Xia Song. Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2023. Linyuan Gong, Chenyan Xiong, Xiaodong Liu 0003, Payal Bajaj, Yiqing Xie, Alvin Cheung, Jianfeng Gao 0001 |
ACL (1) | 6 |
| 2023 | Building Code Transpilers for Domain-Specific Languages Using Program Synthesis (Experience Paper)
Sahil Bhatia, Sumer Kohli, Sanjit A. Seshia, Alvin Cheung |
ECOOP | 4 |
| 2023 | Interpretability Meets Generalizability: A Hybrid Machine Learning System to Identify Nonlinear Granger Causality in Global Stock Indices
Yixiao Lu, Yokiu Lee, Johnathan Chi-Ho Leung, Alvin Cheung, Katharina Dost, Katerina Tashkova, Thomas Lacombe |
PAKDD (2) | 5 |
| 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. | 1 |
| 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. | 10 |
| 2022 | Vector instruction selection for digital signal processors using program synthesisabstractInstruction selection, whereby input code represented in an intermediate representation is translated into executable instructions from the target platform, is often the most target-dependent component in optimizing compilers. Current approaches include pattern matching, which is brittle and tedious to design, or search-based methods, which are limited by scalability of the search algorithm. In this paper, we propose a new algorithm that first abstracts the target platform instructions into high-level uber-instructions, with each uber-instruction unifying multiple concrete instructions from the target platform. Program synthesis is used to lift input code sequences into semantically equivalent sequences of uber-instructions and then to lower from uber-instructions to machine code. Using 21 real-world benchmarks, we show that our synthesis-based instruction selection algorithm can generate instruction sequences for a hardware target, with the synthesized code performing up to 2.1x faster as compared to code generated by a professionally-developed optimizing compiler for the same platform. Maaz Bin Safeer Ahmad, Alexander J. Root, Andrew Adams, Shoaib Kamil 0001, Alvin Cheung |
ASPLOS | 5 |
| 2022 | GACT: Activation Compressed Training for Generic Network ArchitecturesabstractTraining large neural network (NN) models requires extensive memory resources, and Activation Compression Training (ACT) is a promising approach to reduce training memory footprint. This paper presents GACT, an ACT framework to support a broad range of machine learning tasks for generic NN architectures with limited domain knowledge. By analyzing a linearized version of ACT’s approximate gradient, we prove the convergence of GACT without prior knowledge on operator type or model architecture. To make training stable, we propose an algorithm that decides the compression ratio for each tensor by estimating its impact on the gradient at run time. We implement GACT as a PyTorch library that readily applies to any NN architecture. GACT reduces the activation memory for convolutional NNs, transformers, and graph NNs by up to 8.1x, enabling training with a 4.2x to 24.7x larger batch size, with negligible accuracy loss. Lianmin Zheng, Dequan Wang, Yukuo Cen, Weize Chen, Xu Han 0007, Jianfei Chen 0001, Zhiyuan Liu 0001, Jie Tang 0001, Joey Gonzalez, Michael W. Mahoney, Alvin Cheung |
ICML | 12 |
| 2022 | Synthesizing analytical SQL queries from computation demonstrationabstractAnalytical SQL is widely used in modern database applications and data analysis. However, its partitioning and grouping operators are challenging for novice users. Unfortunately, programming by example, shown effective on standard SQL, are less attractive because examples for analytical queries are more laborious to solve by hand. Rastislav Bodík, Alvin Cheung, Chenglong Wang 0005 |
PLDI | 3 |
| 2022 | Katara: synthesizing CRDTs with verified liftingabstractConflict-free replicated data types (CRDTs) are a promising tool for designing scalable, coordination-free distributed systems. However, constructing correct CRDTs is difficult, posing a challenge for even seasoned developers. As a result, CRDT development is still largely the domain of academics, with new designs often awaiting peer review and a manual proof of correctness. In this paper, we present Katara, a program synthesis-based system that takes sequential data type implementations and automatically synthesizes verified CRDT designs from them. Key to this process is a new formal definition of CRDT correctness that combines a reference sequential type with a lightweight ordering constraint that resolves conflicts between non-commutative operations. Our process follows the tradition of work in verified lifting, including an encoding of correctness into SMT logic using synthesized inductive invariants and hand-crafted grammars for the CRDT state and runtime. Katara is able to automatically synthesize CRDTs for a wide variety of scenarios, from reproducing classic CRDTs to synthesizing novel designs based on specifications in existing literature. Crucially, our synthesized CRDTs are fully, automatically verified, eliminating entire classes of common errors and reducing the process of producing a new CRDT from a painstaking paper proof of correctness to a lightweight specification. Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Joseph M. Hellerstein |
Proc. ACM Program. Lang. | 4 |
| 2022 | Keep CALM and CRDT OnabstractDespite decades of research and practical experience, developers have few tools for programming reliable distributed applications without resorting to expensive coordination techniques. Conflict-free replicated datatypes (CRDTs) are a promising line of work that enable coordination-free replication and offer certain eventual consistency guarantees in a relatively simple object-oriented API. Yet CRDT guarantees extend only to data updates; observations of CRDT state are unconstrained and unsafe. We propose an agenda that embraces the simplicity of CRDTs, but provides richer, more uniform guarantees. We extend CRDTs with a query model that reasons about which queries are safe without coordination by applying monotonicity results from the CALM Theorem, and lay out a larger agenda for developing CRDT data stores that let developers safely and efficiently interact with replicated application state. Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein |
Proc. VLDB Endow. | 4 |
| 2021 | PlotCoder: Hierarchical Decoding for Synthesizing Visualization Code in Programmatic ContextabstractXinyun Chen, Linyuan Gong, Alvin Cheung, Dawn Song. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers). 2021. Linyuan Gong, Alvin Cheung, Dawn Song |
ACL/IJCNLP (1) | 3 |
| 2021 | Falx: Synthesis-Powered Visualization AuthoringabstractModern visualization tools aim to allow data analysts to easily create exploratory visualizations. When the input data layout conforms to the visualization design, users can easily specify visualizations by mapping data columns to visual channels of the design. However, when there is a mismatch between data layout and the design, users need to spend significant effort on data transformation. Chenglong Wang 0005, Yu Feng 0001, Rastislav Bodík, Isil Dillig, Alvin Cheung, Amy J. Ko |
CHI | 5 |
| 2021 | New Directions in Cloud Programming
Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein, Mae Milano |
CIDR | 1 |
| 2021 | VSS: A Storage System for Video AnalyticsabstractWe present a new video storage system (VSS) designed to decouple high-level video operations from the low-level details required to store and efficiently retrieve video data. VSS is designed to be the storage subsystem of a video data management system (VDBMS) and is responsible for: (1) transparently and automatically arranging the data on disk in an efficient, granular format; (2) caching frequently-retrieved regions in the most useful formats; and (3) eliminating redundancies found in videos captured from multiple cameras with overlapping fields of view. Our results suggest that VSS can improve VDBMS read performance by up to 54%, reduce storage costs by up to 45%, and enable developers to focus on application logic rather than video storage and retrieval. Brandon Haynes, Maureen Daum, Dong He 0002, Amrita Mazumdar, Magdalena Balazinska, Alvin Cheung, Luis Ceze |
SIGMOD Conference | 6 |
| 2021 | Demonstration of Apperception: A Database Management System for Geospatial Video DataabstractMany recent video applications---including traffic monitoring, drone analytics, autonomous driving, and virtual reality---require piecing together, combining, and operating over many related video streams. Despite the massive data volumes involved and the need to jointly reason (both spatially and temporally) about these videos, current techniques to store and manipulate such data are often limited to file systems and simple video processing frameworks that reason about a single video in isolation. We present Apperception, a new type of database management system optimized for geospatial video applications. Apperception comes with an easy to use data model to reason about multiple geospatial video data streams, and a programming interface for developers to collectively reason about the entities observed in those videos. Our demo will let users write queries over video using Apperception and retrieve (in real-time) both metadata and rendered video data. Users can also compare results and observe speedups achieved by using Apperception. Vanessa Lin, Yongming Ge, Maureen Daum, Alvin Cheung, Brandon Haynes, Magdalena Balazinska |
Proc. VLDB Endow. | 4 |
| 2020 | VisualWorldDB: A DBMS for the Visual World
Brandon Haynes, Maureen Daum, Amrita Mazumdar, Magdalena Balazinska, Alvin Cheung, Luis Ceze |
CIDR | 5 |
| 2020 | View-Driven Optimization of Database-Backed Web Applications
Cong Yan, Alvin Cheung, Shan Lu 0001 |
CIDR | 2 |
| 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 | 4 |
| 2020 | Handling Highly Contended OLTP Workloads Using Fast Dynamic PartitioningabstractResearch on transaction processing has made significant progress towards improving performance of main memory multicore OLTP systems under low contention. However, these systems struggle on workloads with lots of conflicts. Partitioned databases (and variants) perform well on high contention workloads that are statically partitionable, but time-varying workloads often make them impractical. Towards addressing this, we propose Strife---a novel transaction processing scheme that clusters transactions together dynamically and executes most of them without any concurrency control. Strife executes transactions in batches, where each batch is partitioned into disjoint clusters without any cross-cluster conflicts and a small set of residuals. The clusters are then executed in parallel with no concurrency control, followed by residuals separately executed with concurrency control. Strife uses a fast dynamic clustering algorithm that exploits a combination of random sampling and concurrent union-find data structure to partition the batch online, before executing it. Strife outperforms lock-based and optimistic protocols by up to 2x on high contention workloads. While Strife incurs about 50% overhead relative to partitioned systems in the statically partitionable case, it performs 2x better when such static partitioning is not possible and adapts to dynamically varying workloads. Guna Prasaad, Alvin Cheung, Dan Suciu |
SIGMOD Conference | 2 |
| 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 | 3 |
| 2020 | Visualization by exampleabstractWhile visualizations play a crucial role in gaining insights from data, generating useful visualizations from a complex dataset is far from an easy task. In particular, besides understanding the functionality provided by existing visualization libraries, generating the desired visualization also requires reshaping and aggregating the underlying data as well as composing different visual elements to achieve the intended visual narrative. This paper aims to simplify visualization tasks by automatically synthesizing the required program from simple visual sketches provided by the user. Specifically, given an input data set and a visual sketch that demonstrates how to visualize a very small subset of this data, our technique automatically generates a program that can be used to visualize the entire data set. From a program synthesis perspective, automating visualization tasks poses several challenges that are not addressed by prior techniques. First, because many visualization tasks require data wrangling in addition to generating plots from a given table, we need to decompose the end-to-end synthesis task into two separate sub-problems. Second, because the intermediate specification that results from the decomposition is necessarily imprecise, this makes the data wrangling task particularly challenging in our context. In this paper, we address these problems by developing a new compositional visualization-by-example technique that (a) decomposes the end-to-end task into two different synthesis problems over different DSLs and (b) leverages bi-directional program analysis to deal with the complexity that arises from having an imprecise intermediate specification. We have implemented our visualization-by-example approach in a tool called Viser and evaluate it on over 80 visualization tasks collected from on-line forums and tutorials. Viser can solve 84 of these benchmarks within a 600 second time limit, and, for those tasks that can be solved, the desired visualization is among the top-5 generated by Viser in 70% of the cases. Chenglong Wang 0005, Yu Feng 0001, Rastislav Bodík, Alvin Cheung, Isil Dillig |
Proc. ACM Program. Lang. | 4 |
| 2019 | Perceptual Compression for Video Storage and Processing SystemsabstractCompressed videos constitute 70% of Internet traffic, and video upload growth rates far outpace compute and storage improvement trends. Past work in leveraging perceptual cues like saliency, i.e., regions where viewers focus their perceptual attention, reduces compressed video size while maintaining perceptual quality, but requires significant changes to video codecs and ignores the data management of this perceptual information. Amrita Mazumdar, Brandon Haynes, Magdalena Balazinska, Luis Ceze, Alvin Cheung, Mark Oskin |
SoCC | 5 |
| 2019 | Learning Programmatic Idioms for Scalable Semantic ParsingabstractSrinivasan Iyer, Alvin Cheung, Luke Zettlemoyer. 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. Srinivasan Iyer 0001, Alvin Cheung, Luke Zettlemoyer |
EMNLP/IJCNLP (1) | 2 |
| 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 | 5 |
| 2019 | Visual Road: A Video Data Management BenchmarkabstractRecently, video database management systems (VDBMSs) have re-emerged as an active area of research and development. To accelerate innovation in this area, we present Visual Road, a benchmark that evaluates the performance of these systems. Visual Road comes with a data generator and a suite of queries over cameras positioned within a simulated metropolitan environment. Visual Road's video data is automatically generated with a high degree of realism, and annotated using a modern simulation and visualization engine. This allows for VDBMS performance evaluation while scaling up the size of the input data. Visual Road is designed to evaluate a broad variety of VDBMSs: real-time systems, systems for longitudinal analytical queries, systems processing traditional videos, and systems designed for 360 videos. We use the benchmark to evaluate three recent VDBMSs both in capabilities and performance. Brandon Haynes, Amrita Mazumdar, Magdalena Balazinska, Luis Ceze, Alvin Cheung |
SIGMOD Conference | 5 |
| 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. | 2 |
| 2019 | Iterative Search for Reconfigurable Accelerator Blocks With a Compiler in the LoopabstractDomain-specific reconfigurable accelerators achieve high performance and energy efficiency by using specialized processing elements (PEs) instead of general-purpose alternatives. However, the process of designing, selecting, and refining the reconfigurable PEs that compose the accelerator fabric has remained a manual and difficult task. This paper presents reconfigurable accelerator design using iterative search for hardware (RADISH) which is a full-stack framework for automatically identifying and generating PEs from an application corpus. RADISH uses a genetic algorithm to iteratively search for and refine the proposed PEs with a compiler-in-the-loop to guide the search. We show that RADISH-generated PEs can generalize to both larger instances of the same application as well as other previously unseen applications within the same domain. We evaluate a coarse-grain reconfigurable array (CGRA) architecture using our RADISH-generated PEs and show it achieves a geometric mean improvement of up to 2.14× and 2.4× power and area, respectively, over an arithmetic logic unit-based CGRA designs. In terms of energy, our generated designs achieve a geometric mean improvement of 2.5× but can achieve gains up to 28.9×. Max Willsey, Vincent T. Lee, Alvin Cheung, Rastislav Bodík, Luis Ceze |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 2019 | Automatically translating image processing libraries to halideabstractThis paper presents Dexter, a new tool that automatically translates image processing functions from a low-level general-purpose language to a high-level domain-specific language (DSL), allowing them to leverage cross-platform optimizations enabled by DSLs. Rather than building a classical syntax-driven compiler to do this translation, Dexter leverages recent advances in program synthesis and program verification, along with a new domain-specific synthesis algorithm, to translate C++ image processing code to the Halide DSL, while guaranteeing semantic equivalence. This new synthesis algorithm scales and generalizes to much larger and more complex functions than prior work, including the ability to handle tiling, conditionals, and multi-stage pipelines in the original low-level code. To demonstrate the effectiveness of our approach, we evaluate Dexter using real-world image processing functions from Adobe Photoshop, a widely used multi-platform image processing program. Our results show that Dexter can translate 264 out of 353 functions in our test set, with the original implementations ranging from 20 to 150 lines of code. By leveraging Halide's advanced auto-scheduling capabilities, we get median speedups of 7.03× and 4.52× for Dexter-translated functions as compared to the original implementations on Intel and ARM architectures, respectively. Maaz Bin Safeer Ahmad, Jonathan Ragan-Kelley, Alvin Cheung, Shoaib Kamil 0001 |
ACM Trans. Graph. | 3 |
| 2018 | Mapping Language to Code in Programmatic ContextabstractSource code is rarely written in isolation.It depends significantly on the programmatic context, such as the class that the code would reside in.To study this phenomenon, we introduce the task of generating class member functions given English documentation and the programmatic context provided by the rest of the class.This task is challenging because the desired code can vary greatly depending on the functionality the class provides (e.g., a sort function may or may not be available when we are asked to "return the smallest element" in a particular member variable list).We introduce CONCODE, a new large dataset with over 100,000 examples consisting of Java classes from online code repositories, and develop a new encoder-decoder architecture that models the interaction between the method documentation and the class environment.We also present a detailed error analysis suggesting that there is significant room for future work on this task. Srinivasan Iyer 0001, Ioannis Konstas, Alvin Cheung, Luke Zettlemoyer |
EMNLP | 3 |
| 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 | 5 |
| 2018 | Automatically Leveraging MapReduce Frameworks for Data-Intensive ApplicationsabstractMapReduce is a popular programming paradigm for developing large-scale, data-intensive computation. Many frameworks that implement this paradigm have recently been developed. To leverage these frameworks, however, developers must become familiar with their APIs and rewrite existing code. We present Casper, a new tool that automatically translates sequential Java programs into the MapReduce paradigm. Casper identifies potential code fragments to rewrite and translates them in two steps: (1) Casper uses program synthesis to search for a program summary (i.e., a functional specification) of each code fragment. The summary is expressed using a high-level intermediate language resembling the MapReduce paradigm and verified to be semantically equivalent to the original using a theorem prover. (2) Casper generates executable code from the summary, using either the Hadoop, Spark, or Flink API. We evaluated Casper by automatically converting real-world, sequential Java benchmarks to MapReduce. The resulting benchmarks perform up to 48.2x faster compared to the original. Maaz Bin Safeer Ahmad, Alvin Cheung |
SIGMOD Conference | 2 |
| 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 | 5 |
| 2018 | Speeding up symbolic reasoning for relational queriesabstractThe ability to reason about relational queries plays an important role across many types of database applications, such as test data generation, query equivalence checking, and computer-assisted query authoring. Unfortunately, symbolic reasoning about relational queries can be challenging because relational tables are multisets (bags) of tuples, and the underlying languages, such as SQL, can introduce complex computation among tuples. We propose a space refinement algorithm that soundly reduces the space of tables such applications need to consider. The refinement procedure, independent of the specific dataset application, uses the abstract semantics of the query language to exploit the provenance of tuples in the query output to prune the search space. We implemented the refinement algorithm and evaluated it on SQL using three reasoning tasks: bounded query equivalence checking, test generation for applications that manipulate relational data, and concolic testing of database applications. Using real world benchmarks, we show that our refinement algorithm significantly speeds up (up to 100×) the SQL solver when reasoning about a large class of challenging SQL queries, such as those with aggregations. Chenglong Wang 0005, Alvin Cheung, Rastislav Bodík |
Proc. ACM Program. Lang. | 2 |
| 2018 | Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL QueriesabstractDeciding the equivalence of SQL queries is a fundamental problem in data management. As prior work has mainly focused on studying the theoretical limitations of the problem, very few implementations for checking such equivalences exist. In this paper, we present a new formalism and implementation for reasoning about the equivalences of SQL queries. Our formalism, U-semiring, extends SQL's semiring semantics with unbounded summation and duplicate elimination. U-semiring is defined using only very few axioms and can thus be easily implemented using proof assistants such as Lean for automated query reasoning. Yet, they are sufficient enough to enable us reason about sophisticated SQL queries that are evaluated over bags and sets, along with various integrity constraints. To evaluate the effectiveness of U-semiring, we have used it to formally verify 68 equivalent queries and rewrite rules from both classical data management research papers and real-world SQL engines, where many of them have never been proven correct before. Shumo Chu, Brendan Murphy, Jared Roesch, Alvin Cheung, Dan Suciu |
Proc. VLDB Endow. | 4 |
| 2018 | LightDB: A DBMS for Virtual Reality VideoabstractWe present the data model, architecture, and evaluation of LightDB, a database management system designed to efficiently manage virtual, augmented, and mixed reality (VAMR) video content. VAMR video differs from its two-dimensional counterpart in that it is spherical with periodic angular dimensions, is nonuniformly and continuously sampled, and applications that consume such videos often have demanding latency and throughput requirements. To address these challenges, LightDB treats VAMR video data as a logically-continuous six-dimensional light field. Furthermore, LightDB supports a rich set of operations over light fields, and automatically transforms declarative queries into executable physical plans. We have implemented a prototype of LightDB and, through experiments with VAMR applications in the literature, we find that LightDB offers up to 4× throughput improvements compared with prior work. Brandon Haynes, Amrita Mazumdar, Armin Alaghi, Magdalena Balazinska, Luis Ceze, Alvin Cheung |
Proc. VLDB Endow. | 6 |
| 2017 | Learning a Neural Semantic Parser from User FeedbackabstractSrinivasan Iyer, Ioannis Konstas, Alvin Cheung, Jayant Krishnamurthy, Luke Zettlemoyer. Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017. Srinivasan Iyer 0001, Ioannis Konstas, Alvin Cheung, Jayant Krishnamurthy, Luke Zettlemoyer |
ACL (1) | 3 |
| 2017 | A Visual Cloud for Virtual Reality Applications
Magdalena Balazinska, Luis Ceze, Alvin Cheung, Brian Curless, Steven M. Seitz |
CIDR | 3 |
| 2017 | Cosette: An Automated Prover for SQL
Shumo Chu, Chenglong Wang 0005, Konstantin Weitz, Alvin Cheung |
CIDR | 4 |
| 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 | 2 |
| 2017 | HoTTSQL: proving query rewrites with univalent SQL semanticsabstractEvery database system contains a query optimizer that performs query rewrites. Unfortunately, developing query optimizers remains a highly challenging task. Part of the challenges comes from the intricacies and rich features of query languages, which makes reasoning about rewrite rules difficult. In this paper, we propose a machine-checkable denotational semantics for SQL, the de facto language for relational database, for rigorously validating rewrite rules. Unlike previously proposed semantics that are either non-mechanized or only cover a small amount of SQL language features, our semantics covers all major features of SQL, including bags, correlated subqueries, aggregation, and indexes. Our mechanized semantics, called HoTT SQL, is based on K-Relations and homotopy type theory, where we denote relations as mathematical functions from tuples to univalent types. We have implemented HoTTSQL in Coq, which takes only fewer than 300 lines of code and have proved a wide range of SQL rewrite rules, including those from database research literature (e.g., magic set rewrites) and real-world query optimizers (e.g., subquery elimination). Several of these rewrite rules have never been previously proven correct. In addition, while query equivalence is generally undecidable, we have implemented an automated decision procedure using HoTTSQL for conjunctive queries: a well studied decidable fragment of SQL that encompasses many real-world queries. Shumo Chu, Konstantin Weitz, Alvin Cheung, Dan Suciu |
PLDI | 3 |
| 2017 | Synthesizing highly expressive SQL queries from input-output examplesabstractSQL is the de facto language for manipulating relational data. Though powerful, many users find it difficult to write SQL queries due to highly expressive constructs. Chenglong Wang 0005, Alvin Cheung, Rastislav Bodík |
PLDI | 2 |
| 2017 | Optimizing Data-Intensive Applications Automatically By Leveraging Parallel Data Processing FrameworksabstractIn this demonstration we will showcase CASPER, a novel tool that enables sequential data-intensive programs to automatically leverage the optimizations provided by parallel data processing frameworks. The goal of CASPER is to reduce the inertia against adaptation of new data processing frameworks---particularly for non-expert users---by automatically re-writing sequential programs written in general purpose languages to the high-level DSLs or APIs of these frameworks. Through CASPER's browser-based interface, users can enter the source code of their Java applications and have it automatically retargeted to execute on Apache Spark. In our interactive presentation, we will use CASPER to optimize sequential implementations of data visualization programs as well as image processing kernels. The optimized Spark implementations along with the original sequential implementations will then be executed simultaneously on the cloud to allow the demo to audience compare the runtime performances and outputs in real-time. Maaz Bin Safeer Ahmad, Alvin Cheung |
SIGMOD Conference | 2 |
| 2017 | Demonstration of the Cosette Automated SQL ProverabstractIn this demonstration, we showcase COSETTE, the first automated prover for determining the equivalences of SQL queries. Despite theoretical limitations, COSETTE leverages recent advances in both automated constraint solving and interactive theorem proving to decide the equivalences of a wide range of real world queries, including complex rewrite rules from the database literature. COSETTE can also validate the inequality of queries by finding counter examples, i.e., database instances which, when executed on the two queries, will return different results. COSETTE can find counter examples of many real world inequivalent queries including a number of real-world optimizer bugs. We showcase three representative applications of COSETTE: proving a query rewrite rule from magic set rewrite, finding counter examples from the infamous optimizer bug, and an interactive visualization of automated grading results powered by COSETTE, where COSETTE is used to check the equivalence of students' answers to the standard solution. For the demo, the audience can experience through the three applications, and explore the COSETTE by interacting with the tool using an easy-to-use web interface. Shumo Chu, Chenglong Wang 0005, Alvin Cheung, Dan Suciu |
SIGMOD Conference | 4 |
| 2017 | VisualCloud Demonstration: A DBMS for Virtual RealityabstractWe demonstrate VisualCloud, a database management system designed to efficiently ingest, store, and deliver virtual reality (VR) content at scale. VisualCloud targets both live and prerecorded spherical panoramic (a.k.a. 360°) VR videos. It persists content as a multidimensional array that utilizes both dense (e.g., space and time) and sparse (e.g., bitrate) dimensions. VisualCloud uses orientation prediction to reduce data transfer by degrading out-of-view portions of the video. Content delivered through VisualCloud requires up to 60% less bandwidth than existing methods and scales to many concurrent connections. Brandon Haynes, Artem Minyaylov, Magdalena Balazinska, Luis Ceze, Alvin Cheung |
SIGMOD Conference | 5 |
| 2017 | Interactive Query Synthesis from Input-Output ExamplesabstractThis demo showcases Scythe, a novel query-by-example system that can synthesize expressive SQL queries from input-output examples. Scythe is designed to help end-users program SQL and explore data simply using input-output examples. From a web-browser, users can obtain SQL queries with Scythe in an automated, interactive fashion: from a provided example, Scythe synthesizes SQL queries and resolves ambiguities via conversations with the users. Chenglong Wang 0005, Alvin Cheung, Rastislav Bodík |
SIGMOD Conference | 2 |
| 2017 | Comparative Evaluation of Big-Data Systems on Scientific Image Analytics WorkloadsabstractScientific discoveries are increasingly driven by analyzing large volumes of image data. Many new libraries and specialized database management systems (DBMSs) have emerged to support such tasks. It is unclear how well these systems support real-world image analysis use cases, and how performant the image analytics tasks implemented on top of such systems are. In this paper, we present the first comprehensive evaluation of large-scale image analysis systems using two real-world scientific image data processing use cases. We evaluate five representative systems (SciDB, Myria, Spark, Dask, and TensorFlow) and find that each of them has shortcomings that complicate implementation or hurt performance. Such shortcomings lead to new research opportunities in making large-scale image analysis both efficient and easy to use. Parmita Mehta, Sven Dorkenwald, Dongfang Zhao 0001, Tomer Kaftan, Alvin Cheung, Magdalena Balazinska, Ariel Rokem, Andrew J. Connolly, Jacob VanderPlas, Yusra AlSayyad |
Proc. VLDB Endow. | 5 |
| 2016 | Summarizing Source Code using a Neural Attention ModelabstractHigh quality source code is often paired with high level summaries of the computation it performs, for example in code documentation or in descriptions posted in online forums.Such summaries are extremely useful for applications such as code search but are expensive to manually author, hence only done for a small fraction of all code that is produced.In this paper, we present the first completely datadriven approach for generating high level summaries of source code.Our model, CODE-NN , uses Long Short Term Memory (LSTM) networks with attention to produce sentences that describe C# code snippets and SQL queries.CODE-NN is trained on a new corpus that is automatically collected from StackOverflow, which we release.Experiments demonstrate strong performance on two tasks: (1) code summarization, where we establish the first end-to-end learning results and outperform strong baselines, and (2) code retrieval, where our learned model improves the state of the art on a recently introduced C# benchmark by a large margin. Srinivasan Iyer 0001, Ioannis Konstas, Alvin Cheung, Luke Zettlemoyer |
ACL (1) | 3 |
| 2016 | PipeGen: Data Pipe Generator for Hybrid AnalyticsabstractAs the number of big data management systems continues to grow, users increasingly seek to leverage multiple systems in the context of a single data analysis task. To efficiently support such hybrid analytics, we develop a tool called PipeGen for efficient data transfer between database management systems (DBMSs). PipeGen automatically generates data pipes between DBMSs by leveraging their functionality to transfer data via disk files using common data formats such as CSV. PipeGen creates data pipes by extending such functionality with efficient binary data transfer capabilities that avoid file system materialization, include multiple important format optimizations, and transfer data in parallel when possible. We evaluate our PipeGen prototype by generating 20 data pipes automatically between five different DBMSs. The results show that PipeGen speeds up data transfer by up to 3.8× as compared to transferring using disk files. Brandon Haynes, Alvin Cheung, Magdalena Balazinska |
SoCC | 2 |
| 2016 | Verified lifting of stencil computationsabstractThis paper demonstrates a novel combination of program synthesis and verification to lift stencil computations from low-level Fortran code to a high-level summary expressed using a predicate language. The technique is sound and mostly automated, and leverages counter-example guided inductive synthesis (CEGIS) to find provably correct translations. Lifting existing code to a high-performance description language has a number of benefits, including maintainability and performance portability. For example, our experiments show that the lifted summaries can enable domain specific compilers to do a better job of parallelization as compared to an off-the-shelf compiler working on the original code, and can even support fully automatic migration to hardware accelerators such as GPUs. We have implemented verified lifting in a system called STNG and have evaluated it using microbenchmarks, mini-apps, and real-world applications. We demonstrate the benefits of verified lifting by first automatically summarizing Fortran source code into a high-level predicate language, and subsequently translating the lifted summaries into Halide, with the translated code achieving median performance speedups of 4.1X and up to 24X for non-trivial stencils as compared to the original implementation. Shoaib Kamil 0001, Alvin Cheung, Shachar Itzhaky, Armando Solar-Lezama |
PLDI | 2 |
| 2016 | Packet Transactions: High-Level Programming for Line-Rate SwitchesabstractMany algorithms for congestion control, scheduling, network measurement, active queue management, and traffic engineering require custom processing of packets in the data plane of a network switch. To run at line rate, these data-plane algorithms must be implemented in hardware. With today's switch hardware, algorithms cannot be changed, nor new algorithms installed, after a switch has been built. Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, Steve Licking |
SIGCOMM | 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. | 2 |
| 2016 | Sloth: Being Lazy Is a Virtue (When Issuing Database Queries)abstractMany web applications store persistent data in databases. During execution, such applications spend a significant amount of time communicating with the database for retrieval and storing of persistent data over the network. These network round-trips represent a significant fraction of the overall execution time for many applications (especially those that issue a lot of database queries) and, as a result, increase their latency. While there has been prior work that aims to eliminate round-trips by batching queries, they are limited by (1) a requirement that developers manually identify batching opportunities, or (2) the fact that they employ static program analysis techniques that cannot exploit many opportunities for batching, as many of these opportunities require knowing precise information about the state of the running program. In this article, we present S loth , a new system that extends traditional lazy evaluation to expose query batching opportunities during application execution, even across loops, branches, and method boundaries. Many such opportunities often require expensive and sophisticated static analysis to recognize from the application source code. Rather than doing so, S loth instead makes use of dynamic analysis to capture information about the program state and, based on that information, decides how to batch queries and when to issue them to the database. We formalize extended lazy evaluation and prove that it preserves program semantics when executed under standard semantics. Furthermore, we describe our implementation of S loth and our experience in evaluating S loth using over 100 benchmarks from two large-scale open-source applications, in which S loth achieved up to a 3 × reduction in page load time by delaying computation using extended lazy evaluation. Alvin Cheung, Samuel Madden 0001, Armando Solar-Lezama |
ACM Trans. Database Syst. | 1 |
| 2015 | Towards Generating Application-Specific Data Management Systems
Alvin Cheung |
CIDR | 1 |
| 2014 | Sloth: being lazy is a virtue (when issuing database queries)abstractMany web applications store persistent data in databases. During execution, such applications spend a significant amount of time communicating with the database for retrieval and storing of persistent data over the network. These network round trips represent a significant fraction of the overall execution time for many applications and as a result increase their latency. While there has been prior work that aims to eliminate round trips by batching queries, they are limited by 1) a requirement that developers manually identify batching opportunities, or 2) the fact that they employ static program analysis techniques that cannot exploit many opportunities for batching. In this paper, we present Sloth, a new system that extends traditional lazy evaluation to expose query batching opportunities during application execution, even across loops, branches, and method boundaries. We evaluated Sloth using over 100 benchmarks from two large-scale open-source applications, and achieved up to a 3x reduction in page load time by delaying computation. Alvin Cheung, Samuel Madden 0001, Armando Solar-Lezama |
SIGMOD Conference | 1 |
| 2013 | StatusQuo: Making Familiar Abstractions Perform Using Program Analysis
Alvin Cheung, Owen Arden, Samuel Madden 0001, Armando Solar-Lezama, Andrew C. Myers |
CIDR | 1 |
| 2013 | Optimizing database-backed applications with query synthesisabstractObject-relational mapping libraries are a popular way for applications to interact with databases because they provide transparent access to the database using the same language as the application. Unfortunately, using such frameworks often leads to poor performance, as modularity concerns encourage developers to implement relational operations in application code. Such application code does not take advantage of the optimized relational implementations that database systems provide, such as efficient implementations of joins or push down of selection predicates. In this paper we present QBS, a system that automatically transforms fragments of application logic into SQL queries. QBS differs from traditional compiler optimizations as it relies on synthesis technology to generate invariants and postconditions for a code fragment. The postconditions and invariants are expressed using a new theory of ordered relations that allows us to reason precisely about both the contents and order of the records produced complex code fragments that compute joins and aggregates. The theory is close in expressiveness to SQL, so the synthesized postconditions can be readily translated to SQL queries. Using 75 code fragments automatically extracted from over 120k lines of open-source code written using the Java Hibernate ORM, we demonstrate that our approach can convert a variety of imperative constructs into relational specifications and significantly improve application performance asymptotically by orders of magnitude. Alvin Cheung, Armando Solar-Lezama, Samuel Madden 0001 |
PLDI | 1 |
| 2013 | Speeding up database applications with PyxisabstractWe propose to demonstrate Pyxis, a system that optimizes database applications by pushing computation to the database server. Our system applies program analysis techniques to the application source code to determine pieces of application logic that should be moved to the database server to improve performance. This frees the developer from the need to understand the intricacies of database operations or learn a new programming language for stored procedures. In addition, by dynamically monitoring resource utilization on the database server, Pyxis can migrate computation between application and database in response to workload changes. Our previous experiments have shown that Pyxis can decrease latency up to 3x for transactional applications, and improve throughput up to 1.7x when compared to a standard implementation using embedded SQL statements in application logic. We will demonstrate these capabilities via a visualization of real-time performance as well as an interactive code partitioning tool we have developed. Alvin Cheung, Owen Arden, Samuel Madden 0001, Andrew C. Myers |
SIGMOD Conference | 1 |
| 2012 | Using program synthesis for social recommendationsabstractThis paper presents a new approach to select events of interest to users in a social media setting where events are generated from mobile devices. We argue that the problem is best solved by inductive learning, where the goal is to first generalize from the users' expressed "likes" and "dislikes" of specific events, then to produce a program that can be used to collect only data of interest. Alvin Cheung, Armando Solar-Lezama, Samuel Madden 0001 |
CIKM | 1 |
| 2012 | Automatic Partitioning of Database ApplicationsabstractDatabase-backed applications are nearly ubiquitous in our daily lives. Applications that make many small accesses to the database create two challenges for developers: increased latency and wasted resources from numerous network round trips. A well-known technique to improve transactional database application performance is to convert part of the application into stored procedures that are executed on the database server. Unfortunately, this conversion is often difficult. In this paper we describe Pyxis, a system that takes database-backed applications and automatically partitions their code into two pieces, one of which is executed on the application server and the other on the database server. Pyxis profiles the application and server loads, statically analyzes the code's dependencies, and produces a partitioning that minimizes the number of control transfers as well as the amount of data sent during each transfer. Our experiments using TPC-C and TPC-W show that Pyxis is able to generate partitions with up to 3x reduction in latency and 1.7x improvement in throughput when compared to a traditional non-partitioned implementation and has comparable performance to that of a custom stored procedure implementation. Alvin Cheung, Owen Arden, Samuel Madden 0001, Andrew C. Myers |
Proc. VLDB Endow. | 1 |
| 2011 | Automatically generating interesting events with LifeJoinabstractThis demo will showcase LifeJoin, a system that collects raw sensor data from phones and laptop computers to generate interesting events. Given the raw sensor data, LifeJoin implements a number of activity recognition algorithms to generate higher-level events. Furthermore, it uses supervised learning techniques to learn from users' feedback to generate only events of interest. In this demo, the audience will get to interact with the LifeJoin system and be able to examine the internals of LifeJoin. Alvin Cheung, Arvind Thiagarajan, Samuel Madden 0001 |
SenSys | 1 |
| 2011 | Partial replay of long-running applicationsabstractBugs in deployed software can be extremely difficult to track down. Invasive logging techniques, such as logging all non-deterministic inputs, can incur substantial runtime overheads. This paper shows how symbolic analysis can be used to re-create path equivalent executions for very long running programs such as databases and web servers. The goal is to help developers debug such long-running programs by allowing them to walk through an execution of the last few requests or transactions leading up to an error. The challenge is to provide this functionality without the high runtime overheads associated with traditional replay techniques based on input logging or memory snapshots. Our approach achieves this by recording a small amount of information about program execution, such as the direction of branches taken, and then using symbolic analysis to reconstruct the execution of the last few inputs processed by the application, as well as the state of memory before these inputs were executed. Alvin Cheung, Armando Solar-Lezama, Samuel Madden 0001 |
SIGSOFT FSE | 1 |
| 2008 | Performance profiling with EndoScope, an acquisitional software monitoring frameworkabstractWe propose EndoScope, a software monitoring framework that allows users to pose declarative queries that monitor the state and performance of running programs. Unlike most existing monitoring tools, EndoScope is acquisitional , meaning that it only instruments the portions of the program that need to be monitored to answer queries. The use of a high level declarative language allows EndoScope to search for efficient physical instantiations of queries by applying a suite of optimizations, including control flow graph analysis, and traditional database query optimization techniques, such as predicate pushdown and join optimization, to minimize the number of program instrumentation points and overhead to the monitored program. Furthermore, a flexible, high level language and the ability to attach to running programs enable developers to build various program analysis and monitoring applications beyond traditional software profilers with EndoScope. We describe a prototype implementation of the EndoScope framework and a simple profiler for Java programs implemented with EndoScope. We show results from using our profiler on a collection of real-world programs, including a TPC-C implementation using the Derby database and the petstore application running on top of Tomcat application server. Our results show the benefit of our optimization framework and demonstrate that our declarative, acquisitional approach can yield program instrumentation overheads that are dramatically lower than conventional profiling tools (for example, when profiling the Derby Database running TPC-C, our system's overhead ranges from 1% to about 25%, whereas the fastest existing profiler we measured imposes a minimum overhead of about 30%.) Alvin Cheung, Samuel Madden 0001 |
Proc. VLDB Endow. | 1 |
| 2007 | Theseos: A Query Engine for Traceability across Sovereign, Distributed RFID DatabasesabstractThe ability to trace the history of individual products, especially their movement through supply and distribution chains, is key to many solutions such as targeted recalls and counterfeit detection. In most traceability applications a number of independent organizations have to work together. EPCglobal has proposed an architecture for a network of RFID databases where each database provides a standardized query interface. That architecture facilitates simple retrieval of traceability data from individual repositories, but it does not support complex traceability queries or cross-organizational query processing. Theseos (R. Agrawal, 2006) provides traceability applications with the ability to execute complex traceability queries that may span multiple RFID databases. Alvin Cheung, Karin Murthy, Stefan Schönauer |
ICDE | 1 |
| 2006 | Towards Traceability across Sovereign, Distributed RFID DatabasesabstractTracking and tracing individual items is a new and emerging trend in many industries. Driven by maturing technologies such as radio-frequency identification (RFID) and upcoming standards such as the electronic product code (EPC), a rapidly increasing number of enterprises are collecting vast amounts of tracking data. To enable traceability over the entire life-cycle of items data has to be shared across independent and possibly competing enterprises. The need to simultaneously compete and cooperate requires a traceability system design that allows companies to share their traceability data while maintaining complete sovereignty over what is shared and with whom. Based on an extensive study of traceability applications, we introduce the formal concept of traceability networks and highlight the technical challenges involved in sharing data in such a network. To address these challenges, we present an innovative combination of query processing techniques from P2P networks and distributed as well as parallel databases with confidentiality enforcement techniques Rakesh Agrawal 0001, Alvin Cheung, Karin Murthy, Stefan Schönauer |
IDEAS | 2 |