I'm Parth. I graduated with an MS from UIUC in 2023. Here, I explored how to apply Machine Learning and Program Synthesis techniques to make software development easier. My thesis was titled Exploring the design space of AI based code completion engines.
If you've heard about Codex or Github Copilot,
or FlashFill, I'm into that sort of stuff.
Prior to this, I worked with Dr. Venkat Padmanabhan on (a) optimizing WAN provisioning and (b) measuring impact of latency on users at Microsoft Research, India.
Even before that, I worked with Dr. Senthil Nathan and Dr. Praveen Jayachandran on improving performance and scaling of Blockchains at IBM Research, India.
Projects
Here are some of my recent public projects, besides my published research:
-
Copilot Explorer (2022)
In this project, I delved into the internals of Github Copilot. I wrote a tool to decompile Copilot's VSCode extension, and identified key insights regarding prompt construction logic, post processing of model's output and telemetry collection (after sifting through over 400 obfuscated modules!). I also built a code browser to intuitively explore the codebase. I wrote a blog post about it that got a little bit popular.
-
FauxPilot | Core Contributor (2022)
FauxPilot is an open-source alternative to Copilot. Originally FauxPilot was limited to Salesforce CodeGen models, because it used the FasterTransformers Triton backend. My contribution allowed FauxPilot to use any HuggingFace model by supporting the Python backend model. I also provided the groundwork for enabling continuous integration for easier maintenance. I plan to continue contributing to FauxPilot in the future.
-
Older projects can be viewed on my Github.
Writings
I have written a couple of articles/blogs:
-
Copilot Internals
(2022)
This is a blog post explaining the internals of Github Copilot. It is a fairly detailed post, and explains how Copilot works, and how it can be improved. Note that this is written based on my reverse-engineering of Copilot and is not an official documentation. It might have some inaccuracies.
-
Doing Distributed Systems - the Bitcoin way! (Part 1) (2017)
This is part 1 of the (incomplete) two-part blog post explaining some ideas about Bitcoin, Blockchains and basic Distributed Systems concepts.
-
Bitcoin Protocol High Level Overview (2017)
This is the full draft (both part 1 and part 2) of "Doing Distributed Systems - the Bitcoin way!". Unfortunately I never got around to publishing part 2. However this draft is nearly complete.
Resume
I've studied/worked at the following places:
My resume can be viewed here.