Menu

Career Profile

I am a Computer Science Graduate Student at State University of New York, Stony Brook (SUNY-SB). My interest lies in systems, algorithms and data science. Currently, I am exploring the systems domain by working in File System & Storage lab on hpcperf project 'Linux Write-back Cache' under the guidance of Prof. Erez Zadok for my advance project.

Experiences

Software Engineer

July, 2015 - July, 2016
Samsung Research Institute, Bangalore

As a Software Engineer, I have worked on Native Application - Tizen Web Browser as well as System Sevices and Tizen Operating System. I was entrusted with ownership of Quick Access Module, Website Settings Module of Tizen Web Browser - stock browser for Tizen powered devices and Download Framework of Tizen Operating System. I have supported the trasition of Tizen Web Browser packing format from rpm to tpk and received award for my contribution to Tizen Web Browser. Since then, I have been contributing to Tizen Web Browser as well as Download Framework of Tizen Operating System and various system services like Browser-Provider and at the end, implemented a new feature - My Galaxy for Tizen Web Browser from scratch completely.

Software Developer Engineer Intern

May, 2014 - July, 2014
Microsoft R&D Pvt Ltd, Bengaluru

Developed a proof of concept for deep link enabled advertisements for Windows Phone Applications through Web Interface by researching a way to enable the same and presented it to Division Head. This involved Windows Phone App development, Modification of Website UI, Middle Layer and Database.

Academic Projects

Process specific system call behavior based Linux

November 2016 – December 2016
State University of New York - Stony Brook

Modified Linux kernel 4.6 to support system call vector table per process designed based on OOPS. Developed various loadable kernel modules to provide custom system call tables. Problem decription is mentioned in detail here.

Salient Features of the design:

  • Kernel Module Developer wouldn't notice any changes in Linux kernel for implementing custom system call vector. Just need to call two API to do so
  • Support for multiple system call vectors per module and custom functions in other loadable kernel module can be used as intended in Linux.
  • Long term support and flexibility provided to developers using function pointers
  • Ease in extending support of a new system call to be customized

Trackable File System

October 2016 – November 2016
State University of New York - Stony Brook

Implemented a file system which supports tracking of system calls in Linux and generates a trace file which can be replayed if necessary using stacking technologies and multi-threading.Problem decription is mentioned in detail here

Salient Features of the design:

  • Efficient and minimal memory footprint In-kernel implementation to provide feature of tracing on-demand basis
  • Devised highly swift and unerring user programs to replay the trace logged in trace file and/ display the information of trace file in extensive details enabling user to deduct conclusions easily
  • Ease in extending to support new system calls

Statistical Models for paralog detection in Rapclust

November 2016 – December 2016
State University of New York - Stony Brook

In RNA-sequencing data, two genes can have high sequence similarity, due to gene duplication (paralogs) or transfer (orthologs). It can be difficult to distinguish between transcripts of genes that are homologus (i.e. paralogs or orthologs) and transcripts that represent isoforms of the same gene. Developed various statistical models to improve paralog detection.Implemented Negative Binomial Distribution and a simple probabilistic model on the expression level of the transcripts

Arithmetic Word Problems Solver for Linear Equations

October 2016 – December 2016
State University of New York - Stony Brook

Developed a NLP system based on supervised learning that take input as word problem and produce answer as the ouput. Key Points:

  • Explored NLP systems and their working
  • Developed 2 fundamental models for solving arithmetic word problems and 2 incremental approaches over it

Analyzing Keystroke Dynamics for Enhanced Security

July 2014 – May 2015
Veermata Jijabai Technological Institute (V.J.T.I.)

Developed a PAM in Linux which prevents an intruder from accessing the system in case an intruder comes to know the password as we associate typing pattern of user with the password using Keystroke dynamics. Salient Feautres:

  • Secondary modes of authentication like security question and Google Authenticator
  • Implemented supervised learning using One Class – Support Vector Machine
  • a Java prototype depicting the same
  • Included with Ubuntu Login Screen

Virtual Learning Management System

December 2013 – March 2014
Veermata Jijabai Technological Institute (V.J.T.I.)

Developed a website named virtual learning management system from scratch in which students can enroll to various courses of various streams and give a test and raise doubts pertaining to enrolled course and complete the course while author and content manager upload and approve courses and admin approve new users and moderate forum. Feautres:

  • Login Authentication with MD5 Hash
  • Uploading, Downloading and Viewing of Documents based on user level access
  • Forum for user interaction and doubts discussion with moderation of content and flagging of posts
  • Recently trending discussions/reviews
  • Build student reputation score based on “Vote as helpful” votes received for posted comments
  • Display QR code against published article/resource.

Linux Device Block Driver

February 2013
Veermata Jijabai Technological Institute (V.J.T.I.)

Implemented true virtual block device that can support a filesystem which demonstrates the functionality of block drivers with the system without dealing with hardware complexities.

Graduate Courses

Parallel Programming (CSE-613) - Prof. Rezaul A. Chowdhury, Spring 2017
Machine Learning (CSE-512) - Prof. Francesco Orabona, Spring 2017
Probability and Statistics for Data Science (CSE-544) - Prof. Anshul Gandhi, Spring 2017
Operating Systems (CSE-506) - Prof. Erez Zadok, Fall 2016
Analysis of Algorithms (CSE-548) - Prof. Rezaul A. Chowdhury, Fall 2016
Artificial Intelligence (CSE-537) - Prof. Niranjan Balasubramanian, Fall 2016