Symbolic Analysis of Weak Concurrency Semantics in Modern Database Programs

Kiarash Rahmani, Purdue University

Abstract

Programs that concurrently access shared data are ubiquitous: bank accounts, shopping carts, inventories, and social media applications all rely on a shared database system to store their information. Modern database systems are built to offer varying degrees of concurrency semantics, because they must be able to handle the enormous workload of modern use cases. Unfortunately, writing programs which interact with such database systems is notoriously difficult, because the developers are usually exposed to the particular low-level details of the distributed protocols in the storage layer. The goal of this dissertation is to design a collection of techniques and tools that enable the ease of programming under the traditional strong concurrency guarantees, without sacrificing the performance offered by modern distributed database systems. Our main thesis is that language-centric reasoning can help developers efficiently identify and eliminate concurrency anomalies in modern database programs, and we have demonstrated that it results in faster and safer database programs. We formalized multiple search problems in the space of executions of a given program, and reduce them to instances of Satisfiability Modulo Theory (SMT) problems, which can be efficiently solved using advanced solvers (e.g. Z3 [1]). We demonstrated the efficacy of our symbolic analysis approach in helping developers identify bugs in their programs. Furthermore, based on our experience in designing symbolic anomaly detection engines, we developed novel techniques for analyzing the structure of concurrency anomalies in a program, and altering its state and logic in a way that eliminates many of these anomalies. We have shown that reducing the number of anomalies results in a more performant program, as the refactored programs rely less on the costly runtime enforcement of strong semantics.

Degree

Ph.D.

Advisors

Fonseca, Purdue University.

Subject Area

Logic|Web Studies

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS