Heinz Nixdorf Institute – University of Paderborn
Research Associate and Ph.D. Candidate – September 2020 - Current
- Received the DAAD Prize for outstanding achievement by a foreign student.
- Research on static analysis for Python and how this can be applied to improve machine learning development processes.
- Represented the Secure Software Engineering research group in the German government funded "KI-Marktplatz" project. Research on security concepts and certification of AI software artifacts.
- Currently representing our group in the "SustAInable Life-cycle of Intelligent Socio-Technical Systems" project.
- Teaching assistant for various courses and supervision of master students.
Research Intern – August 2023 - September 2023
- Contributed to the design and implementation of a generic plugin for PyCharm and DataSpell to integrate state-of-the-art Python source code analysis into the IDE.
- Integrated HeaderGen into PyCharm as a proof of concept.
University of Paderborn – Networking Department
Student Research Assistant – September 2019 - June 2020
- Involved in the research and development of 5G programmable network infrastructure under the "5G-PICTURE" project funded by the EU.
- Lead the development efforts to demonstrate our research in a technical meeting with project partners held in Barcelona.
- Co-author of a research paper published in the "European Conference on Networks and Communications". Contributions include implementing, experimenting and providing statistical evidence.
Student Developer – September 2017 - September 2019
- Worked closely with the release manager to successfully develop a series of business process automation tools that helped in optimizing the company's resources. This had a direct impact on how the tasks were assigned to developers.
- Designed and implemented a metrics dashboard that provides actionable insights regarding the development process.
- Monitored and helped developers in continuous integration and build management topics.
Software Developer – March 2016 - March 2017
- Lead the initial development efforts, designed the core architecture, and built an IoT home security product from ideas to proof of concept. Lauched as CareVision with a Kickstarter campaign.
- Conceptualized and implemented new features into existing desktop software and firmware for 3D printers.
- Designed and deployed data aggregation strategy for collection and analysis of usage metrics to understand client behavior.
Software Developer – April 2015 - March 2016
- Involved in open-source development, testing and deployment of 3D printer software and firmware along with the cloud based web apps.
- Represented the company at various events and exhibitions. Hosted educational talks about 3D Printing for students and corporate companies.
Heinz Nixdorf Institute – University of Paderborn
- Automated cell header generator for machine learning Jupyter notebooks based on static analysis for Python. Published at SANER 2023.
- A Micro-benchmarking Framework for Python Type Inference Tools. Published at ICSE 2024.
- Involved in the development and maintenance of static analysis framework for Python. Created by researchers at the Monash university.
- Contributor to PyCG, an open-source call graph generator for Python.
University of Paderborn
Project Group - SCrAMblE •
- Title: "Management of Services Across Multiple Clouds"
- Lead a team of 8 master students for 1 year as part of the project work at the university.
- Took key decisions on architecture and system design topics.
- The work and findings of our research work successfully contributed to the "5G-PICTURE" project.
Build it, Break it, Fix it • Grade: 1.3
- Practical security based contest where teams build, exploit and fix security aspects of a system.
- Our team stood second in the university.
Seminars • Grade: 1.0, 1.7
- Website fingerprinting attacks and defences overview
- Security complications of compiler optimization
Software Agent for Issue Management
- Built a tool to efficiently handle incoming issues and feature requests from developers for a retail software.
- Software agent was responsible for automating the initial life cycle of the issue and effectively assigning the issue to the responsible teams once approved by the internal standards.
- What started as an idea between me and my manager was eventually deployed in practice and proved effective in managing developers company wide.
Data Visualization Dashboard
- Built a series of dashboards for issue management that involved collection and visualization of various actionable metrics.
- One example is a dashboard that visualizes the impact of software agent.
- Linux based IoT home security product with an array of sensors and unique software features. Termed as "Emotionally intelligent" device.
- Designed and implemented video processing pipelines for capturing and encoding multiple video streams from camera.
- Implemented unique new features such as "timelapse to video mapping" which are patent pending.
- Built a python based middleware for a linux embedded system.
- Proven ability to work with hardware components by building circuits on breadboard for testing.
- Online eco-system for 3D printing and rapid prototyping.
- Proposed and implemented proof of concept of a cloud based cost estimator for building parts.
- Improved open-source python desktop GUI used to print 3D printing models. Added features such as auto orientation of models to improve ease of use.
- Represented EZ3 as a technical guide at the IMTEX expo, one of India's prestigious expos.
- Gave a brief technical overview of 3D printing to potential clients.
- UNKIA: Customized open-source 3D printer firmware based on a project called "Marlin". Lead to a pull request on the main repository.
- EZ-Remote: Customized open-source wireless 3D Printing setup which includes an android app and a python server running on Raspberry pi.
- PartOrder: Conceptualized and implemented a python based B2B desktop ordering software for our repeat customers.
- Built the company website and other small useful web applications for the clients on the website.
TypeEvalPy: A Micro-benchmarking Framework for Python Type Inference Tools
ICSE 2024: International Conference on Software Engineering (CORE A*)
Enhancing Comprehension and Navigation in Jupyter Notebooks with Static Analysis
SANER 2023: 30th International Conference on Software Analysis, Evolution
and Reengineering (CORE A)
Distinguished Paper Award
Automated cell header generator for Jupyter notebooks
AISTA 2021: 1st ACM International Workshop on AI and Software Testing/Analysis (CORE A)
Dynamic Provisioning of Network Services on Heterogeneous Resources
EuCNC: European Conference on Networks and Communications
Security Implications Of Compiler Optimizations On Cryptography--A Review
arXiv, technical report
Ph.D. in Computer Science*
University of Paderborn – Germany
Master of Science in Computer Science
University of Paderborn – Germany
2017-2020 • Grade: 1.5
Bachelor of Engineering in Computer Science
Visvesvaraya Technological University – Bangalore, India
2011-2015 • Grade: First Class
Algorithmic Trading Bot
Automated trading in crypto and stock markets for Binance, Kite, and lemon.markets. Designed and built over 18 months to be reliable, available, and scalable (100s of bots individually managing 100s of assets). Highly modular and customizable signalling modules. Plugin infrastructure for creating custom functionality, such as telegram integration, graphing module, dashboard, etc. Proven in the real-world over the last year both personally and by money managers. I plan to make this open-source soon.
RTCHub - Home Monitoring with Machine Learning
Firmware - Middleware - Cloud - App, Complete solution built from scratch. Showcasing my cross-domain ideas and development skill set.
PDL - Pocket Data Logger
Built a production device for a structural engineer capable of recording metrics from an array of sensors such as IMU, Camera, GPS, Wheel and Temperature. Controlled using a dashboard which includes a HUD display of data over the video stream.
Election Result Analysis
A simple web scrapper to list and count the total votes gained by a particular political party in Indian election.
Multi-Language Name Printer
A python program that takes a name and prints it in various indian languages. Developed for crowd engagement at an university event.
Project Mentor For Bachelor Students
Project mentor for 4 teams of final year engineering under VTU University.
Domain: IoT, Embedded Systems, CNC Machines
Co-Founded a service oriented start-up at 16 years.More open-source projects on my GitHub...
Supervised Master's Theses
- Static Analysis Driven Feature Augmentation for Code Classification in Data Science Notebooks | Ongoing
- TypeEvalPy: Common Evaluation Framework for Type Inference | Ongoing
- A Large-scale Analysis Of Source Code Metrics For Jupyter Notebooks | Ongoing
- Classification of Machine Learning APIs into Machine Learning Operations | June 2023
- Classifying Code-cells in Jupyter Notebooks with Static Analysis Output using Machine Learning | Nov 2022
- Automated Cell Header Generation for Machine Learning Jupyter Notebooks | Feb 2022
Designing code analyses for large-scale software systems
Master Course • 2020, 2023
- Introduction of static code analysis concepts.
- Intra-procedural data-flow analysis, call-graph construction algorithms, context-insensitivity, pointer analysis
Secure Systems Engineering
Bachelor Course • 2021, 2022
- Threat modeling, secure design, coding, deployment, validation, and maintenance.
- Build it, Break it, Fix it: security-oriented programming contest.
Secure Systems Engineering Seminar
Master Course • 2021/2022
- Leading the organization of student seminar group.
- Basics of scientific research. How to read, write, present, and review scientific work.
50+ 360° Panoramas with ~5.5 Million+ views.
Active member of the "Paderborn Panthers" cricket club.
Indian Classical Music