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.
|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).|
- Ionel Gog, Jana Giceva, Malte Schwarzkopf, Kapil Vaswani, Dimitrios Vytiniotis, Ganesan Ramalingam, Manuel Costa, Derek Murray, Steven Hand, and Michael Isard, Broom: Sweeping out Garbage Collection From Big Data Systems, in Workshop on Hot Topics in Operating Systems (HotOS), USENIX – Advanced Computing Systems Association, May 2015.
- Ravichandhran Madhavan, G. Ramalingam, and Kapil Vaswani, A Framework for Efficient Modular Heap Analysis, in Foundations and Trends in Programming Languages, vol. 1, no. 4, January 2015.
- Sagar Chordia, Sriram Rajamani, Kaushik Rajan, G. Ramalingam, and Kapil Vaswani, Asynchronous Resilient Linearizability, in International Symposium on Distributed Computing (DISC), October 2013.
- Ken Eguro, Kaushik Rajan, Ravi Ramamurthy, Kapil Vaswani, and Ramarathnam Venkatesan, Migration to the Cloud Made Safe and Secure, in Off the Beaten Track (OBT) Workshop, ACM, January 2013.
- G Ramalingam and Kapil Vaswani, Fault Tolerance via Idempotence, in Principles of Programming Languages (POPL), ACM, January 2013.
- Ravichandhran Madhavan, Ganesan Ramalingam, and Kapil Vaswani, Modular Heap Analysis For Higher Order Programs, in Static Analysis Symposium (SAS), September 2012.
- Jose Faleiro, Sriram Rajamani, Kaushik Rajan, G Ramalingam, and Kapil Vaswani, Generalized Lattice Agreement, in Principles of Distributed Computing (PODC), ACM, July 2012.
- Ravichandhran Madhavan, Ganesan Ramalingam, and Kapil Vaswani, Purity Analysis: An Abstract Interpretation Formulation, in Proceedings of Static Analysis Symposium (SAS), September 2011.
- Dawei Qi, Abhik Roychoudhury, Zhengkai Liang, and Kapil Vaswani, DARWIN: An Approach for Debugging Evolving Programs, in ACM Transactions on Software Engineering and Methodology (TOSEM), ACM, August 2011.
- Jyotirmoy V. Deshmukh, G. Ramalingam, Venkatesh Prasad Ranganath, and Kapil Vaswani, Logical Concurrency Control from Sequential Proofs, in Logical Methods in Computer Science (LMCS), vol. 7, no. 3, 2011.
|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|