Our vision paper that lays out a research direction for CRDT data stores based on the CALM theorem has been accepted to VLDB 2023!

Hi, I'm Shadaj

I explore the boundaries of programming

I'm a second-year PhD student co-advised by Alvin Cheung and Joe Hellerstein in the Sky Computing Lab at UC Berkeley, where I research programming languages and distributed systems. Most recently, I've developed program synthesis algorithms that can automatically create provably-correct CRDT designs, which enable state replication with low-latency and high-throughput. I'm grateful to be supported by an NSF Graduate Research Fellowship.

Previously, I received my BS in EE/CS at Berkeley, where I was fortunate to work with Koushik Sen on new approaches to compile-time metaprogramming and program synthesis for data science tasks. I've interned at Google Brain, Facebook, Apollo GraphQL, Khan Academy, Coursera, and Paya Labs, where I worked with GraphQL, Rust, React, and Scala.js to develop open-source libraries, education platforms, and large-scale infrastructure.

I host many open-source libraries and projects on GitHub, and have a channel on YouTube. I've presented a keynote at OSCON 2014 and at Scala Days (2012, 2013, 2014, 2015, 2016, 2017, 2018), GraphQL Summit, Scale By the Bay, and various other technical conferences. In high school, I was the Co-President of Lynbrook Robotics, where I led a competitive robotics team of over 100 students. I continue to be involved with the team, where I focus on introducing students to advanced control theory topics and software design principles.

Latest News

Nov 2022
Our vision paper that lays out a research direction for CRDT data stores based on the CALM theorem has been accepted to VLDB 2023!
Oct 2022
Katara, our system for synthesizing CRDTs, is now open-source and will appear at OOPSLA 2022!
Jun 2022
Jan 2022
Attending CIDR 2022, and learning how to pitch programming languages research to the database community
Aug 2021
Started my PhD at UC Berkeley in the RISELab, working on the Hydro project under Alvin Cheung and Joe Hellerstein
Apr 2021
Received the EECS Major Citation award!
Mar 2021


VLDB 2023

Keep CALM and CRDT On

Shadaj Laddad*, Conor Power*, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein

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.

PDF / arXiv


Katara: Synthesizing CRDTs with Verified Lifting

Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Joseph M. Hellerstein

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. 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.

PDF / GitHub

ASE 2021

VizSmith: Automated Visualization Synthesis by Mining Data-Science Notebooks

Rohan Bavishi, Shadaj Laddad, Hiroaki Yoshida, Mukul R. Prasad, Koushik Sen

We built a tool called VizSmith which enables code reuse for visualizations by mining visualization code from Kaggle notebooks and creating a database of 7176 reusable Python functions. Given a dataset, columns to visualize and a text query from the user, VizSmith searches this database for appropriate functions, runs them and displays the generated visualizations to the user.


GPCE 2020

Fluid Quotes: Metaprogramming across Abstraction Boundaries with Dependent Types

Shadaj Laddad and Koushik Sen

We introduce Fluid Quotes, a new technique that uses dependent types to let users pass quotes through abstraction boundaries in runtime code while splicing them ahead-of-time. This technique enables new metaprogramming capabilities by eliminating the traditional requirement of co-locating parameter expressions with call-sites. Fluid Quotes capture not only source code but also associated runtime context to ensure correctness.


Scala Symposium 2020

ScalaPy: Seamless Python Interoperability for Cross-Platform Scala Programs

Shadaj Laddad and Koushik Sen

In this paper, we introduce ScalaPy, a system for interoperability between Scala and Python. With ScalaPy, developers can use Python libraries in Scala by treating Python values as Scala objects and exposing Scala values to Python. ScalaPy supports both Scala on the JVM and Scala Native, enabling its usage from data experiments in interactive notebook environments to performance-critical production systems.


Fellowships and Awards