Akash Garg

I am a R&D engineer at SmartThings Lab at Samsung Electronics, Suwon, South Korea. Previously I completed my Bachelors in Computer Science with honors and minor in management from Indian Institute of Technology, Bombay, in 2017.

At Samsung, I have been involved in all stages of development of a product from ideation to release of final product. I have designed and led the the development of device configuration service which became the central mechanism for all internal & third-party IoT device onboardings in SmartThings ecosystem. I have also led the backend development of the SmartThings Energy Service for Korea & release in India that handles energy consumption data from millions of IoT devices. I have also worked on developing SmartThings windows application and backend of bixby service that handles bixby commands to all IOT devices.

Before joining Samsung I was an intern at the same company and received a pre-placement offer for outstanding performance during the internship. I have also interned at Inria, France where I worked on E-voting protocols.

I am a badminton enthusiast and have been playing the sport quite regularly during my time at Samsung.

RESEARCH INTERESTS

My research interest in computer science lies in Computer Systems. More specifically, I find distributed systems, cloud computing and virtualization, and Operating systems highly exciting. I am interested in theory, design as well as implementation of large scale systems.

PUBLICATIONS

Secure Key Agreement for Multi-Device Home IoT Environment

Authors: Akash Garg, Taehee Lee

In this paper, we develop a secure shared key agreement protocol for multiple devices inside the home IoT environment which alleviates security, privacy and scalability concerns. The protocol achieves key agreement amongst devices and allows secure data broadcast without connecting to the cloud. We also provide a formal security proof of the proposed scheme and verify its security properties using the AVISPA (Automated Validation of Internet Security Protocols) tool.

New space vector modulation approach for multilevel converters(IEEE PEDES 2014)

Authors: Akash Garg, Anshuman Shukla

This paper presents an approach towards using Space Vector Modulation for multi-level converter based on precalculation of switching time for each voltage configuration in the converter using weighted time assignment to sectors. This algorithm minimizes runtime calculation of switching time and its simulation results are presented to validate the effectiveness of the proposed scheme. The concept of variable switching time and its importance for controlling converters have been presented.

THESIS

Static Security Analysis for Java Programs (AUTUMN 2016)

Guide: Prof. Amey Karkare, Prof. Amitabh Sanyal
As a part of this project we worked on making the detection of security loopholes in java libraries scalable. We developed new rules for context insensitive flow sensitive heap analysis and function summary generation. These rules are specially designed for highly localized analysis whose results can be directly used for global analysis. It makes it possible to automate analysis of large libraries on systems with limited resources which was earlier impossible. We have implemented the rules in datalog and used logicblox generated facts for performing analysis in doop. The framework can be used for both taint analysis and confidentiality analysis.

INTERNSHIP EXPERIENCE

Summer Internship at Samsung Electronics, Korea (Summer 2016)

  • Designed an efficient rule execution model for Internet of Things and implemented it on Tizen
  • Developed a service framework for integrating service apps into the Tizen IoT system
  • Implemented tweeting features in an app plugin for Tizen using Twitter Rest API which can be integrated at runtime into the framework

Summer Internship at INRIA, France (Summer 2015)

Guide: Prof. Steve Kremer
  • Studied refinement types and sub-typing system in Fstar and modelled Helios e-voting protocol in Fstar
  • Studied Civitas e-voting protocol, modelled it in Fstar and proved its security properties
  • Designed new method of implementing Civitas with changes in cryptography and Zero Knowledge Proofs which improved the time complexity from `n^2` to `nlogn`
  • Project report is available here

Summer Internship at Trexquant LP (Summer 2017)

  • Implemented Machine Learning Models for developing trading strategies based on past trends
  • Achieved a four times better coorelation than standard result between alphas and trading outcomes

SELECTED COURSE PROJECTS

Distributed Hash Table (Spring 2017)

Guide: Prof. Umesh Bellur
  • Designed and Implemented a Distributed Key-Value store scalable to millions of machines
  • Implemented Dynamic key re-distribution, fault tolerance and load balancing with strict consistency.

Parametric Reshaping of Human Body (Spring 2017)

Guide: Prof. Siddhartha Chaudhari
  • Developed a machine learning model which learned the effects of weight and height on human body shape
  • Model could generate possible triangulated mesh of the person on changing weight, height etc.

Compiler for C-Like Language (Spring 2016)

Guide: Prof. Amitabh Sanyal
  • Created a compiler for a subset of the C language, for MIPS instruction set
  • Implemented optimization such as short-circuit evaluation of boolean expressions
  • Used Flexc++ and bison for lexical analysis and parsing of source code

Gotweet (Autumn 2015)

Guide: Prof. N L Sarda
  • Developed a prototype of twitter with features like tweeting, following/unfollowing people, personal messaging, likes, comments etc
  • Implemented the database features in relational database with front-end in bootstrap
  • Github repository can be found here

Buffer Management Strategies (Autumn 2015)

Guide: Prof. N L Sarda
  • Implemented Buffer Replacement Algorithms such as MRU, MFU, LRU and RR and simulated them in ToyDB
  • Analysed their performance on different buffer requests and compared them with ideal Belady’s Algorithm

Django Web Application (Autumn 2014)

Guide: Prof. Sharat Chandran
  • Studied the Gale-Shapley algorithm for finding a stable matching and implemented the same in Java
  • Used the implementation of the algorithm to solve a practical seat allocation based problem
  • Developed an associated Django web application to allow students to fill there seat preferences for JEE counselling (a competitive exam in India)
  • Programmed several modules of the app including choice filling, rank prediction and cutoff analysis
  • Github respository can be found here

Simulation of Rube Goldberg Machine (Autumn 2014)

Guide: Prof. Sharat Chandran
  • Created a 2D simulation for a Rube Goldberg Machine in C++
  • Used Box2D library to implement real world physical properties of objects

Planet Wars (Autumn 2015)

Guide: Prof. Siva Kumar G
  • Implemented genetic algorithm to optimise strategy by cross-breeding and selecting best strategy in each generation

POSITIONS OF RESPONSIBILITY

Undergraduate Teaching Assistantship, IIT Bombay

I was a teaching assistant for CS207 Discrete Structures and CS101x Introduction to Computer Programming and Utilization. My responsibilities included organizing weekly tutorial sessions, solving theory doubts, grading examintation papers and making tutorial sheets.

Organizational Responsibilities, IIT Bombay

I was an organiser in the Ozone department of Techfest 2014. My responsibilities involved organising several games and events for hundreds of visitors.

Gmail
Github

Student for life.

Living in amazing South Korea.

akash.garg2007[at]gmail.com