thakkarparth007


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.

Publications

  1. Optimizing Network Provisioning through Cooperation accepted at NSDI 2022.
    Authors: Harsha Sharma, Parth Thakkar, Sagar Bharadwaj, Ranjita Bhagwan, Venkata N. Padmanabhan, Yogesh Bansal, Vijay Kumar and Kathleen Voelbel.

  2. AutoSens: Inferring Latency Sensitivity of User Activity through Natural Experiments accepted at ACM IMC 2021.
    Authors: Parth Thakkar, Rohan Saxena, Venkata N. Padmanabhan

  3. Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers accepted at ACM SoCC 2021.
    Authors: Parth Thakkar, Senthilnathan Natarajan

  4. Performance Benchmarking and Optimization of Hyperledger Fabric accepted IEEE Mascots '18 (Best Paper Award).
    Authors: Parth Thakkar, Senthilnathan Natarajan, Balaji Viswanathan

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.

Contact

Email.

Twitter.

LinkedIn.

Github.

Typeracer. (no don't contact me here)

Resume

I've studied/worked at the following places:



My resume can be viewed here.


Copyright © Parth Thakkar