I'm a PhD candidate in Computer Science at Cornell University. I'm interested in programming languages as a medium for human thought, expression and interaction with computer systems.

My work applies tools and techniques from programming languages to software-defined networks, optical networks and most recently, legal reasoning.


Property Law as a Programming Language

Shrutarshi Basu, James Grimmelmann, Nate Foster

Domain-Specific Language Design and Implementation (DSLDI) 2017 (presentation)

Life on the Edge: Unraveling Policies into Configurations

Shrutarshi Basu, Nate Foster, Hossein Hojjat, Paparao Palacharla, Christian Skalka, Xi Wang

ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS 2017)

Merlin: A Language for Provisioning Network Resources (Journal Version)

Robert Soulé Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gün Sirer, Nate Foster

IEEE/ACM Transactions on Networking, 2017 (journal version, accepted with minor revisions)

Software-Programmed Optical Networking with Integrated NFV Service Provisioning (Demo)

Victor Mehmeri, Xi Wang, Shrutarshi Basu, Qiong Zhang, Paparao Palacharla, Tadashi Ikeuchi, Idelfonso Tafur Monroy, Juan José Vegas Olmos, Nate Foster

2017 Optical Fiber Communication Conference (OFC); SDN/NFV Demonstration Zone

Merlin: A Language for Provisioning Network Resources

Robert Soulé Shrutarshi Basu, Parisa Jalili Marandi, Fernando Pedone, Robert Kleinberg, Emin Gün Sirer, Nate Foster

10th International Conference on emerging Networking EXperiments and Technologies (CoNEXT '14).

Managing the Network with Merlin

Robert Soulé Shrutarshi Basu, Robert Kleinberg, Emin Gün Sirer, Nate Foster

Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks (HotNets-XII)

Exploring the impact of context sensitivity on blended analysis

Marc Fisher II, Bruno Dufour, Shrutarshi Basu and Barbara G. Ryder.

Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM 2010).

Application of formal grammars to the study of complex patterns and evolving systems

Shrutarshi Basu, Rhodes Baker and Khine Lin.

Proceedings of the National Conference on Undergraduate Research, 2009.


Conveyances as a Programming Language

February 2017 – Now

Anglo-American property law governs what things can be owned, what rights owners enjoy, and how these rights can be transferred and divided over time. Some portions of property law, such as nuisance law (governing relations among neighors) are based on open-ended standards and interpretation via common sense balancing tests. But other portions are notorious for their rigidity, relying on intricate bright-line rules that leave little room for interpretation. We treat conveyances as programs in a DSL that can encode a variety of standard legal concepts. Such a program denotes a deterministic tree of property interests. By applying a series of events to an interest tree, we can determine the who possesses the rights to a piece of property at any given point in time.

SpecNetKAT: Specification Preserving transformation of NetKAT programs

January 2016 – January 2017

Software-Defined Networking has promised to herald a new era of programmable, commoditized networking infrastructure. However, there are still large legacy networks in operation with predefined topologies and policies and limited or non-existent SDN support. Thus, to make the most of their networks, administrators today must figure out how best to combine the flexibility of SDN-enabled edge switches and a rigid, existing forwarding fabric. SpecNetKAT allows users to write policies for a network assuming pervasive SDN capabilities. A compiler then rewrites such policies to work on an immutable fabric and an SDN-enabled edge, while preserving certain user-specified properties.

Merlin: Unified Management for Heterogenous Networks

March 2013 – September 2014

Modern networks are composed of many devices and must satisfy the needs of many users. Merlin is a project to develop high-level abstractions for programming such networks. The core of Merlin is a program that multiple administrators to control networks composed of heterogenous devices like switches, middleboxes and end-hosts.

Freon: Controlling the Network From the Edge

February 2012 – March 2013

A novel architecture for datacenter network management using end hosts to perform the majority of the packet processing work. A component of the Frenetic project.

Proctor: An Actor library for Ruby

January – May 2011

Threaded, concurrent Actors in Ruby using a prototype-based programming style. Makes extensive use of Ruby's metaprogramming abilities