Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Kapil Vaswani

I am a researcher with the Programming Languages and Tools group at Microsoft Research. I am broadly interested in programming language abstractions and tools that simplify the design and implementation of concurrent and distributed systems. I graduated from the department of Computer Science and Automation at the Indian Institute of Science where I worked on efficient and accurate profiling and performance modeling techniques.

Current Research

One of the barriers to adoption cloud database technologies such as SQL Azure is data security and privacy. Data is a valuable asset to most organizations and storing the data in the cloud is often perceived as a security risk. This project investigates encryption as a mechanism to address such data security concerns. In particular, the goal of the project is to research, design, and build a comprehensive database system that supports encryption as a first class citizen. The desired functionality includes: (1) storing encrypted data, (2) issuing encrypted queries and getting back encrypted results. Our goal is to support all sophisticated features of a DBMS such as complex queries, indexes, transactions and stored procedures while maintaining strong security, (3) enabling automated migration of database applications to the cloud.
CScale is a programming model that simplifies the task of writing consistent and highly available distributed applications. CScale applications have simple semantics that enables local reasoning, and testing and debugging on the single machine. CScale manages all aspects of execution of a CScale application on a large clusters, including deployment and state management (replication and data partitioning).


Recent papers

Click here for a full list of papers


Always Encrypted




Other projects

Speculate - Language extensions for speculative parallelism 
WYPIWYG - Inferring concurrency control from sequential proofs 
Isolator - Dynamically enforcing isolation in concurrent programs 
Darwin - Software fault localization using program versions
Preferential Path Profiling - An approach for improving the efficiency of collecting path coverage data  
Seal - Side Effects Analysis for .NET 


Program committees

POPL 2015 (ERC). PLDI 2014 (ERC), ICSE 2014, ISEC 2013, TOOLS Europe 2012, ISEC 2012, ICTAC 2012, CGO 2012, APLAS 2011, ISEC 2011, SCORE 2011, FASE 2011