Projects

Abstract: In recent years, tremendous amount of network data has been generated and graph is a natural way to represent many of these datasets. Due to the massive size of these graphs, it is not possible to store the entire graph into main memory, creating the need for use of methods like data streaming and distributed processing to generate insights for such graphs. In this survey we mainly focus on work done on the matching problem for graph streams under both single pass and multi pass streaming settings.

This project seeks to implement a compiler for a tiny subset of the Nim Programming Language which we call MiniNim. The compiler outputs a MIPS Assembly code which can be run in simulators like MARS.

See full details (Github Repo): Link

In this project, I performed an introductory survey of the RSA Cryptosystem, one of the earliest and widely used Public key Cryptosystem. I demonstrated the working of RSA and described some Optimizations and Attacks.

Presentation: Link

Abstract: We consider the problem of protecting and manipulating elections by recounting and changing ballots, respectively. Our setting involves a plurality-based election held across multiple districts, and the problem formulations are based on the model proposed recently by~[Elkind et al, IJCAI 2019]. It turns out that both of the manipulation and protection problems are NP-complete even in fairly simple settings. We study these problems from a parameterized perspective with the goal of establishing a more detailed complexity landscape. The parameters we consider include the number of voters, and the budgets of the attacker and the defender. While we observe fixed-parameter tractability when parameterizing by number of voters, our main contribution is a demonstration of parameterized hardness when working with the budgets of the attacker and the defender.

Extended Abstract accepted at the 31st International Workshop on Combinatorial Algorithms (IWOCA), 2020

Conference Version: Link     Full Version: Link    Presentation: Link

Abstract: In this project, we analyze the paper "Computational Model of a Vector Mediated Epidemic" by Adriana Dickman and Ronald Dickman. We study the two methods proposed, the Continuous-time Method and a Discrete-time method. We optimize these two algorithms and provide the running time analysis for both the methods. We found that the parameters used by the authors are too large for us to reproduce and hence we do analysis of some alternative cases.

Report: Link     Presentation: Link

An Introductory Survey on the Properties, Constructions and Applications of De Bruijn Sequences.

Survey: Link     Presentation: Link

In this project, we developed a Synchronous FSM Verilog Code Generator using Python. We developed a web application wherein you can input the State Table of an FSM. The application returns the verilog code as well as testbenches if required.

For ease of use, we provided two formats: An interactive web interface and file upload. The file upload format is very intuitive and simple. We designed a parser (using lark-parser) to fetch the details of the FSM State table. Also, we provided an option to implement the generated code directly into an FPGA (if connected) without launching Xilinx Vivado or any other simulator.

We also programmed an n-bit sequence detector which doesn't need the state-table from the user.

Report: Link

As part of HackRush '19, the Annual 36 Hr Hackathon at IIT Gandhinagar, we developed a website which displays details about events happening in the campus. The events displayed depends on the location of the display device. We devised a scheduling algorithm to decide the order, frequency and time each event will be displayed according to the location. We developed a website on Django fetch the event details with the help of Airtable API.

In this project, we developed a website for the Technical Council of IIT Gandhinagar.

We designed a simplistic UI inspired from many websites. My goal was to make the website maintenance work easier for the Technical Council Members. With the help of TabletopJs, the data (Events, Clubs, Members, etc.) is rendered directly to the website from Google Sheets.

Website: Link