Projects and Research
Movie Recommendation System
Project was part of a 2 person team effort for the Neural Networks class.
We developed a movie recommendation system using Self-Organizing Maps (SOM). Using Self-Organizing Maps we classified over 1450 movies based on paramters such as generes and plot keywords.
Experimented with various techinques to calculate similarity for movie prediction such as Euclidean distance, Cosine distance and Dot Product.
While the accuracy of the final results was not very good compared to the state of the art the algorithm showed promise if applied on larger datasets and better test data.The final project report can be found here.
Part of a 3 member team for a class project.
We developed a crowdsourcing system to evaluate the fitness of the output artifacts generated by a genetic algorithm using crowd-workers.
The aim of the project was to demonstrate how human input can be used to evaluate the fitness function and direct the evolution using subjectively gathered input.
The final project report can be found here.
Level by Level Pointer Analysis
Implemented part of LevPA - or level-by-level pointer analysis algorithm - in a graduate compilers project. We broke it down into implementable chunks and worked through the algorithm in C++ with the LLVM compiler infrastructure.
We integrated a Steensgaard pass, built the function call graph, and reduced it into an SCC-DAG to traverse the strongly connected components and analyze their functions. We then used BDDs to represent context conditions, which encode calling contexts and allow us to distinguish them from each other with the current state of the list of pointers. We also created the Extended Static Single Assignment (SSA) Form so that a flow insensitive pointer analysis would achieve a flow sensitive result.The final project report can be found here.
Open Source Smart Watch for Wearbale Computing
Part of a two member team working on an open source smart watch for the Final year Capstone Project at SRM University.
We created a prototype of a smart-watch that could connect to the internet via an Android phone and provide various features.
Capabilities of the watch include reading E-mails, Texts, Notifications, Social Networking and Home Automation.
Worked on the Android application used to connect to the watch. Developed the protocol used for communication between the watch and the android phone.
You can download the project report here.