ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Wed 17 Apr 2024 11:15 - 11:30 at Fernando Pessoa - Analysis 1 Chair(s): Davide Taibi

User-defined functions (UDFs) are widely used to enhance the capabilities of DBMSs. However, using UDFs comes with a significant performance penalty because DBMSs treat UDFs as black boxes, which hinders their ability to optimize queries that invoke such UDFs. To mitigate this problem, in this paper we present LAMBDA, a technique and framework for improving DBMSs’ performance in the presence of UDFs. The core idea of LAMBDA is to statically infer properties of UDFs that facilitate UDF processing. Taking one such property as an example, if DBMSs know that a UDF is pure, that is it returns the same result given the same arguments, they can leverage a cache to avoid repetitive UDF invocations that have the same call arguments. We reframe the problem of analyzing UDF properties as a data flow problem. We tackle the data flow problem by building LAMBDA on top of an extensible abstract interpretation framework and developing an analysis model that is tailored to UDFs. Currently, LAMBDA supports inferring four properties from UDFs that are widely used across DBMSs.We evaluate LAMBDA on a benchmark that is derived from production query workloads and UDFs. Our evaluation results show that (1) LAMBDA conservatively and efficiently infers the considered UDF properties, and (2) inferring such properties improves UDF performance, with a time reduction ranging from 10% to 99%. In addition, when applied to 20 production UDFs, LAMBDA caught five instances in which developers provided incorrect UDF property annotations. We qualitatively compare LAMBDA against Froid, a state-of-the-art framework for improving UDF performance, and explain how LAMBDA can optimize UDFs that are not supported by Froid.

Wed 17 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
11:00
15m
Talk
Symbol-Specific Sparsification of Interprocedural Distributive Environment Problems
Research Track
Kadiray Karakaya Heinz Nixdorf Institut, Paderborn University, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
Pre-print
11:15
15m
Talk
A Framework For Inferring Properties of User-Defined Functions
Research Track
Xinyu Liu Georgia Institute of Technology, Joy Arulraj Georgia Institute of Technology, Alessandro Orso Georgia Institute of Technology
11:30
15m
Talk
Building Collaborative Learning: Exploring Social Annotation in Introductory Programming
Software Engineering Education and Training
Francisco Gomes de Oliveira Neto Chalmers | University of Gothenburg, Felix Dobslaw Mid Sweden University
11:45
15m
Talk
Teaching Software Development for Real-World Problems using a Microservice-Based Collaborative Problem-Solving Approach
Software Engineering Education and Training
Yi Meng LAU Singapore Management University, Christian Michael KOH Singapore Management University, Lingxiao Jiang Singapore Management University
12:00
7m
Talk
Detecting Outdated Code Element References in Software Repository Documentation
Journal-first Papers
Wen Siang Tan The University of Adelaide, Markus Wagner Monash University, Australia, Christoph Treude Singapore Management University
12:07
7m
Talk
Augmenting Diffs With Runtime Information
Journal-first Papers
Khashayar Etemadi KTH Royal Institute of Technology, Aman Sharma KTH Royal Institute of Technology, Fernanda Madeiral Vrije Universiteit Amsterdam, Martin Monperrus KTH Royal Institute of Technology
Link to publication Pre-print
12:14
7m
Talk
TPV: A Tool for Validating Temporal Properties in UML Class Diagrams
Demonstrations
Mustafa Al Lail Texas A&M International University, Antonio Rosales Viesca Texas A&M International University, Hector Cardenas Texas A&M International University, Mohammad Zarour Hashemite University, Alfredo Perez University of Nebraska at Omaha