Projects

BrainCare

One of my impactful projects is my work with Dr. Suleman Shahid (PhD from Tilburg University) and Dr. Ali Jawaid (PhD from ETH Zurich) on a project in Human Computer Interaction. The goal of this project was early detection and control of Dementia symptoms in patients. Recent research has shown how environmental enrichment, the process of brain stimulation through external signals in the surrounding, can significantly help lower rate of cognitive impairment in Dementia. Combining this idea with HCI, I developed a mobile application called BrainCare, designed to provide environment enrichment in the form of interactive games, activities and everyday tutorials that promote cognitive functions. The app content for BrainCare has been tailored towards addressing problems faced by Dementia patients like forgetfulness, short term memory loss, difficulties in navigation, communication and concentration. To gain in depth understanding of patient’s needs and existing work in this space, I conducted extensive literature review and collaborated with Alzheimer's Pakistan to find patients suffering from Dementia. After interviewing patients, caregivers and neurologists I collected data and brainstormed ideas to narrow down on the product design. Then I carried out usability testing through low and high-fidelity prototypes. The end goal is to effectively prevent or delay the onset cognitive decline through environmental enrichment process made attainable through the application. You can look at the video tutorial here.

Kernel Specialization

For my undergraduate honors thesis, I worked on an ongoing collaboration between LUMS and the Stanford Research Institute (SRI International, Palo Alto), as part of the Occam Project. Occam is a pre-virtualization and monitoring tool chain based on LLVM. Modern applications utilize functionality from a number of libraries, all of which are included in a specific deployment. This can lead to significantly more functionality than required by a specific application for a certain deployment. This excess code in the software stack leaves the applications vulnerable to security threats. Our scheme used the application configuration information to seed the partial evaluation of the code. By compiling the configuration data into a program, we limited the ways that dangerous functions can be called, thus enhancing the security of the program. More specifically, after converting an input program into its equivalent LLVM bit code, we run several LLVM passes to perform inter-module specialization, intra module specialization, argument specialization and dead code elimination. We are currently extending this basic methodology to prune the Kernel to a specific set of applications and deployment as well. Overall, this project has been a great learning experience since it has allowed me to combine ideas from several fundamental areas such as compilers, operating systems, and algorithms in order to address security issues.

Evolved Packet Core

I worked with Dr. Fareed Zaffar (PhD Duke) on Evolved Packet Core being used in 4G LTE networks. The introduction of Long Term Evolution cellular technologies has transformed the architecture of cellular networks from a packet and circuit switched network to a completely packet switched one. As part of a team, we explored the fundamentals of LTE networks and its underlying security architecture. We conducted an in depth study of the entire architecture of the LTE networks, including the user equipment, the eNodeBs and the Evolved Packet Core. We used openEPC to simulate an LTE network and explored the role of EPC in checking user information, subscription, charging for services and forwarding all sorts of packets (data, call, text) to and from the network using different protocols. Having had a deeper understanding of the overall architecture, we studied a wide range of attacks identified via academic research and reported through real-world attacks. Since much of the functionality of LTE is implemented through commodity hardware and software, this makes the system vulnerable to well-known security flaws and attacks. Most of the documented attacks target network availability while some address user data integrity and confidentiality. We are currently exploring architectural modifications to the EPC with a view of limiting damage or exposure during large-scale resource-exhaustion attacks.

Learning Management System

Developed a web application for instructors and students to manage their courses. This web app has two sides; an instructor side and a student side. The instructor side, among other things, can upload and download assignments. They can assign a time limit for the assignment submission. They can grade assignments and even leave comments on it. Check if the student submitted the assignment or not. They can take attendance and have a record of all the absentees. They can make announcemnets. They can add students to their class and view the roster. On the other side. Students registered by their instructors in particular courses can upload and download assignments. They can look at their weekly schedule. Apart from this they can mark their attendance and view announcments, comments made by the instructor. I developed the front end of this app on HTML and the back end on NodeJs. After completing the app, I deployed it on Herouk. You can view the web app here. The video tutorial is here.

Work Experience

    Rheem Manufacturing Company
    Data Engineer
    Developing and testing software interface for tests simulator and customer usage profiles, based on cloud and field data. Building a Kafka data pipeline, and developing FMA efficiency tools and algorithms for anomaly detection.

    Amazon Web Services
    Software Development Engineer Intern
    Introduced a new pipeline activity which allowed customers to change format of the time stamps in their incoming JSON messages from channels and store them into data stores. Developed the back-end and added this activity to the AWS IoT Analytics Console and AWS CLI.

    Goodlogics Pvt
    Software Engineering Intern
    Worked at Goodlogics for 5 months from May to September 2018. I developed web applications in ReactJs for various clients in the financial sector which directly lead to an increase of 15% in user retention. Along with this I tested multiple websites using Selenium and provided programming support for fault detection. Furthermore, I conducted weekly meetings to discuss project plans, workflows, and designs with the core team.

Extracurricular