Dhruv  Saraff

Dhruv Saraff

Scholar Title

Undergraduate Research and Innovation Scholar

Research Title

Choosing the Best Network Protocol





Research Areas
  • Computer Systems

Saman P. Amarasinghe


Buildit is a lightweight multi-stage programming library in C++. In single-stage programming, a program is passed through a compiler which generates an executable that can be executed directly. In multi-stage programming, the output of the compiler executable is another valid program. This program can then be compiled and executed with a new set of inputs to generate another program. The program thus generated is tailored to a specific set of inputs and is typically more optimized than the general one. I aim to create an application using Buildit that can Automatically decide at compile time which network protocol is best suited for the task and inputs in hand, and then generate code that is optimized for the use of that specific protocol.


I am participating in SuperUROP because I want to apply my knowledge of compilers and templates to a longer-term research project.

Back to Scholars