Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

William Harris

dblp:09/4583 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
2since 2021 · last 2022
—ORCID · none

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

Security and privacy · 3Databases, data management, data science and information retrieval · 3 · 2 since 2021Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
3 papers
Query processing and optimization · 59% Database theory · 41%
Network and information security
2 papers
Systems and software security · 100%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 59% Program verification · 41%

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

TopicWeightPapersLastEvidence papers
Database theory
query containment
1.022022
SPES: A Symbolic Approach to Proving Query Equivalence Under Bag Semantics · ICDE 2022
Automated Verification of Query Equivalence Using Satisfiability Modulo Theories · Proc. VLDB Endow. 2019
Query processing and optimization › query optimization › predicate optimization
predicate pushdown
0.512021
SIA: Optimizing Queries using Learned Predicates · SIGMOD Conference 2021
Query processing and optimization
query rewriting
0.512021
SIA: Optimizing Queries using Learned Predicates · SIGMOD Conference 2021
Query processing and optimization
query optimization
0.412019
Automated Verification of Query Equivalence Using Satisfiability Modulo Theories · Proc. VLDB Endow. 2019
Systems and software security
memory safety
0.422017
Efficient Protection of Path-Sensitive Control Security · USENIX Security Symposium 2017
Enforcing Kernel Security Invariants with Data Flow Integrity · NDSS 2016
Systems and software security › memory safety
control-flow integrity
0.312017
Efficient Protection of Path-Sensitive Control Security · USENIX Security Symposium 2017
Systems and software security › data integrity
data-flow integrity
0.212016
Enforcing Kernel Security Invariants with Data Flow Integrity · NDSS 2016
Systems and software security › operating system security
kernel security
0.212016
Enforcing Kernel Security Invariants with Data Flow Integrity · NDSS 2016
Systems and software security
operating system security
0.212016
Enforcing Kernel Security Invariants with Data Flow Integrity · NDSS 2016
Program verification › decision procedure
satisfiability modulo theories
0.112021
SIA: Optimizing Queries using Learned Predicates · SIGMOD Conference 2021
Emerging computing paradigms
approximate computing
0.112015
FlexJava: language support for safe and modular approximate programming · ESEC/SIGSOFT FSE 2015

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

satisfiability modulo theories · 1.4symbolic representation · 1.0constraint satisfaction · 0.6counterexample-guided synthesis · 0.5counter-example guided synthesis · 0.5type inference · 0.4approximation safety analysis · 0.4first-order logic · 0.4control-flow protection · 0.3data flow integrity · 0.2
YearPublicationVenuePosition
2022 SPES: A Symbolic Approach to Proving Query Equivalence Under Bag Semantics
abstract
In database-as-a-service platforms, automated ver-ification of query equivalence helps eliminate redundant computation in the form of overlapping sub-queries. Researchers have proposed two pragmatic techniques to tackle this problem. The first approach consists of reducing the queries to algebraic expressions and proving their equivalence using an algebraic theory. The limitations of this technique are threefold. It cannot prove the equivalence of queries with significant differences in the attributes of their relational operators (e.g., predicates in the filter operator). It does not support certain widely-used SQL features (e.g., NULL values). Its verification procedure is computationally intensive. The second approach transforms this problem to a constraint satisfaction problem and leverages a general-purpose solver to determine query equivalence. This technique consists of deriving the symbolic representation of the queries and proving their equivalence by determining the query containment relationship between the symbolic expressions. While the latter approach addresses all the limitations of the former technique, it only proves the equivalence of queries under set semantics (i.e., output tables must not contain duplicate tuples). However, in practice, database applications use bag semantics (i.e., output tables may contain duplicate tuples) In this paper, we introduce a novel symbolic approach for proving query equivalence under bag semantics. We transform the problem of proving query equivalence under bag semantics to that of proving the existence of a bijective, identity map between tuples returned by the queries on all valid inputs. We classify SQL queries into four categories, and propose a set of novel category-specific verification algorithms. We implement this symbolic approach in SPES and demonstrate that it proves the equivalence of a larger set of query pairs (95/232) under bag semantics compared to the SOTA tools based on algebraic (30/232) and symbolic approaches (67/232) under set and bag semantics, respectively. Furthermore, SPES is 3X faster than the symbolic tool that proves equivalence under set semantics.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris, Jinpeng Wu
ICDE4
2021 SIA: Optimizing Queries using Learned Predicates
abstract
Predicate-centric rules for rewriting queries is a key technique in optimizing queries. These include pushing down the predicate below the join and aggregation operators, or optimizing the order of evaluating predicates. However, many of these rules are only applicable when the predicate uses a certain set of columns. For example, to move the predicate below the join operator, the predicate must only use columns from one of the joined tables. By generating a predicate that satisfies these column constraints and preserves the semantics of the original query, the optimizer may leverage additional predicate-centric rules that were not applicable before. Researchers have proposed syntax-driven rewrite rules and machine learning algorithms for inferring such predicates. However, these techniques suffer from two limitations. First, they do not let the optimizer constrain the set of columns that may be used in the learned predicate. Second, machine learning algorithms do not guarantee that the learned predicate preserves semantics. In this paper, we present SIA, a system for learning predicates while being guided by counter-examples and a verification technique, that addresses these limitations. The key idea is to leverage satisfiability modulo theories to generate counter-examples and use them to iteratively learn a valid, optimal predicate. We formalize this problem by proving the key properties of synthesized predicates. We implement our approach in SIA and evaluate its efficacy and efficiency. We demonstrate that it synthesizes a larger set of valid predicates compared to prior approaches. On a collection of 200 queries derived from the TPC-H benchmark, SIA successfully rewrites 114 queries with learned predicates. 66 of these rewritten queries exhibit more than 2X speed up.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris, Jinpeng Wu
SIGMOD Conference4
2019 Automated Verification of Query Equivalence Using Satisfiability Modulo Theories
abstract
Database-as-a-service offerings enable users to quickly create and deploy complex data processing pipelines. In practice, these pipelines often exhibit significant overlap of computation due to redundant execution of certain sub-queries. It is challenging for developers and database administrators to manually detect overlap across queries since they may be distributed across teams, organization roles, and geographic locations. Thus, we require automated cloud-scale tools for identifying equivalent queries to minimize computation overlap. State-of-the-art algebraic approaches to automated verification of query equivalence suffer from two limitations. First, they are unable to model the semantics of widely-used SQL features, such as complex query predicates and three-valued logic. Second, they have a computationally intensive verification procedure. These limitations restrict their efficacy and efficiency in cloud-scale database-as-a-service offerings. This paper makes the case for an alternate approach to determining query equivalence based on symbolic representation. The key idea is to effectively transform a wide range of SQL queries into first order logic formulae and then use satisfiability modulo theories to efficiently verify their equivalence. We have implemented this symbolic representation-based approach in EQUITAS. Our evaluation shows that EQUITAS proves the semantic equivalence of a larger set of query pairs compared to algebraic approaches and reduces the verification time by 27X. We also demonstrate that on a set of 17,461 real-world SQL queries, it automatically identifies redundant execution across 11% of the queries. Our symbolic-representation based technique is currently deployed on Alibaba's MaxCompute database-as-a-service platform.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris
Proc. VLDB Endow.4
2017 Proving Flow Security of Sequential Logic via Automatically-Synthesized Relational Invariants
abstract
Due to the proliferation of reprogrammable hardware, core designs built from modules drawn from a variety of sources execute with direct access to critical system resources. Expressing guarantees that such modules satisfy, in particular the dynamic conditions under which they release information about their unbounded streams of inputs, and automatically proving that they satisfy such guarantees, is an open and critical problem.,,To address these challenges, we propose a domain-specific language, named STREAMS, for expressing information-flow policies with declassification over unbounded input streams. We also introduce a novel algorithm, named SIMAREL, that given a core design C and STREAMS policy P, automatically proves or falsifies that C satisfies P. The key technical insight behind the design of SIMAREL is a novel algorithm for efficiently synthesizing relational invariants over pairs of circuit executions.,,We expressed expected behavior of cores designed independently for research and production as STREAMS policies and used SIMAREL to check if each core satisfies its policy. SIMAREL proved that half of the cores satisfied expected behavior, but found unexpected information leaks in six open-source designs: an Ethernet controller, a flash memory controller, an SD-card storage manager, a robotics controller, a digital-signal processing (DSP) module, and a debugging interface.
Hyoukjun Kwon, William Harris, Hadi Esmaeilzadeh
CSF2
2017 Efficient Protection of Path-Sensitive Control Security
Ren Ding 0001, Chenxiong Qian, Chengyu Song, William Harris, Taesoo Kim, Wenke Lee
USENIX Security Symposium4
2016 Enforcing Kernel Security Invariants with Data Flow Integrity
Chengyu Song, Byoungyoung Lee, Kangjie Lu, William Harris, Taesoo Kim, Wenke Lee
NDSS4
2015 FlexJava: language support for safe and modular approximate programming
abstract
Energy efficiency is a primary constraint in modern systems. Approximate computing is a promising approach that trades quality of result for gains in efficiency and performance. State- of-the-art approximate programming models require extensive manual annotations on program data and operations to guarantee safe execution of approximate programs. The need for extensive manual annotations hinders the practical use of approximation techniques. This paper describes FlexJava, a small set of language extensions, that significantly reduces the annotation effort, paving the way for practical approximate programming. These extensions enable programmers to annotate approximation-tolerant method outputs. The FlexJava compiler, which is equipped with an approximation safety analysis, automatically infers the operations and data that affect these outputs and selectively marks them approximable while giving safety guarantees. The automation and the language–compiler codesign relieve programmers from manually and explicitly an- notating data declarations or operations as safe to approximate. FlexJava is designed to support safety, modularity, generality, and scalability in software development. We have implemented FlexJava annotations as a Java library and we demonstrate its practicality using a wide range of Java applications and by con- ducting a user study. Compared to EnerJ, a recent approximate programming system, FlexJava provides the same energy savings with significant reduction (from 2× to 17×) in the number of annotations. In our user study, programmers spend 6× to 12× less time annotating programs using FlexJava than when using EnerJ.
Jongse Park, Hadi Esmaeilzadeh, Xin Zhang 0035, Mayur Naik, William Harris
ESEC/SIGSOFT FSE5